using System;
using System.IO;
using System.Management;
using System.Text;
using System.Threading;
using System.Windows;
using System.Windows.Input;
using XHWK.WKTool.DAL;
namespace XHWK.WKTool
{
///
/// KeyVerification.xaml 的交互逻辑
///
/*
输入code 调认证服务,成功跳登录 并且调用添加历史接口,失败继续输code
*/
public partial class KeyVerification
{
private readonly XHApi _registerController = new XHApi();
private int _serverReturnCode;
public KeyVerification()
{
InitializeComponent();
Topmost = true;
WindowStartupLocation = WindowStartupLocation.CenterScreen;
Console.WriteLine(@"初始化KeyVerification");
}
private void Window_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
DragMove();
}
private void btnEnd_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(TxbKey.Text))
{
MessageWindow.Show("密匙未输入");
return;
}
_projectcode = TxbKey.Text.Trim();
if (_projectcode.Length > 8)
{
MessageWindow.Show("密匙输入过长");
TxbKey.Text = _projectcode.Substring(0, 8);
return;
}
APP.BackgroundWorkerHelper.RunWorkerAsync(InvokeActivationAddServering, InvokeActivationAddServerCompate);
}
private string _projectcode = string.Empty;
///
/// 认证服务-调用
///
///
///
private object InvokeActivationAddServering()
{
string device = "pcwk";
string mac = GetMacAddress();
_serverReturnCode = _registerController.ActivationAdd(mac, device, _projectcode);
return APP.ServerMsg;
}
///
/// 认证服务-返回结果
///
///
///
public void InvokeActivationAddServerCompate(object obj)
{
if (_serverReturnCode == 0)
{
MessageWindow.Show("产品激活成功");
APP.BackgroundWorkerHelper.RunWorkerAsync(InvokeActivationAddHistoryServering,
InvokeActivationAddHistoryServerCompate);
Dispatcher.Invoke(() =>
{
Hide();
CreateAMicroLessonWindow win = new CreateAMicroLessonWindow();
//win.Topmost = true;
win.Show();
Thread.Sleep(200);
Close();
});
}
else
{
MessageWindow.Show(APP.ServerMsg);
}
}
///
/// 激活信息--添加激活历史-调用
///
///
///
private object InvokeActivationAddHistoryServering()
{
_serverReturnCode = _registerController.ActivationAddHistory();
return APP.ServerMsg;
}
///
/// 激活信息--添加激活历史-返回结果
///
///
///
public void InvokeActivationAddHistoryServerCompate(object obj)
{
if (!Directory.Exists(APP.DataPath))
{
Directory.CreateDirectory(APP.DataPath);
}
string applicationData = APP.DataPath + "signatureTime.txt";
string currentTime = DateTime.Now.ToLongDateString(); //当前时间
File.WriteAllText(applicationData, currentTime, Encoding.Default); //存放签名验证日期
}
///
/// 获取本机MAC地址
///
///
/// 本机MAC地址
///
public static string GetMacAddress()
{
try
{
string strMac = string.Empty;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (var o in moc)
{
var mo = (ManagementObject)o;
if ((bool)mo["IPEnabled"])
{
strMac = mo["MacAddress"].ToString();
}
}
return strMac;
}
catch
{
return "unknown";
}
}
private void close_click(object sender, RoutedEventArgs e)
{
CloseAction();
}
private void CloseAction()
{
APP.myloading.Show();
new Thread(o => { Dispatcher.Invoke(() => { Environment.Exit(0); }); }).Start();
}
}
}