using SunlightCentralizedControlManagement_SCCM_.UserClass; using SunlightCentralizedControlManagement_SCCM_.ViewModel; using SunlightCentralizedControlManagement_SCCM_.WindowsView; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Forms; using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Threading; using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper; using static System.Windows.Forms.VisualStyles.VisualStyleElement.Tab; namespace SunlightCentralizedControlManagement_SCCM_ { /// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public static string user_; public static DataTable InfData = new DataTable(); public UserInformation userInformation; public MainWindow() { WindowStartupLocation = WindowStartupLocation.CenterScreen; DataContext = new MainWindowViewModel(); InitializeComponent(); CountDown(); CDkey_(); if (App.USER_Purview != "ENGINEER") { username.ItemsSource = MainWindowViewModel.USER_data.Select( "Groups='" + MainWindowViewModel.USER_data.Select("Name='" + App.USER_Purview + "'"). First().Field("Groups").ToString() + "'"). AsEnumerable().Select(rowdata => rowdata.Field("Name")).ToList(); } user_ = App.USER_Purview; username.Text = user_; /**添加提示信息栏**/ InfData.Columns.Add("Machine", Type.GetType("System.String")); InfData.Columns.Add("Information", Type.GetType("System.String")); InfData.Columns.Add("Code", Type.GetType("System.String")); InfData.Columns.Add("ID", Type.GetType("System.Int32")); InfData.RowChanged += new DataRowChangeEventHandler(InfTable);// } private void InfTable(object sender, DataRowChangeEventArgs e)//触发行改变事件 { if (userInformation == null || !userInformation.IsLoaded)//窗口不存在及创建 { userInformation = new UserInformation(); userInformation.Topmost = true; userInformation.Show(); userInformation.Activate(); } else {//窗口纯在及置顶 userInformation.Activate(); if (userInformation.WindowState == WindowState.Minimized) userInformation.WindowState = WindowState.Normal; } } private void ButtonPopUpLogout_Click(object sender, RoutedEventArgs e) { System.Windows.Application.Current.Shutdown(); } private void ButtonMaximize_Click(object sender, RoutedEventArgs e) { if (WindowState == WindowState.Maximized) { WindowState = WindowState.Normal; } else { WindowState = WindowState.Maximized; } } private void ButtonMinimize_Click(object sender, RoutedEventArgs e) { if (WindowState == WindowState.Minimized) { WindowState = WindowState.Normal; } else { WindowState = WindowState.Minimized; } } private void ButtonOpenMenu_Click(object sender, RoutedEventArgs e) { ButtonOpenMenu.Visibility = Visibility.Collapsed; ButtonCloseMenu.Visibility = Visibility.Visible; } private void ButtonCloseMenu_Click(object sender, RoutedEventArgs e) { ButtonOpenMenu.Visibility = Visibility.Visible; ButtonCloseMenu.Visibility = Visibility.Collapsed; } private void GridTitle_MouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) DragMove(); } private void GridMenu_SizeChanged(object sender, SizeChangedEventArgs e) { gdMian.Margin = new Thickness(e.NewSize.Width, 50, 0, 0); } private void ListViewItem_ProductionPlanning(object sender, MouseButtonEventArgs e) { Picture.Content = new View.ProductionPlanningView(); } private void ListViewItem_Whole(object sender, MouseButtonEventArgs e) { Picture.Content = new View.Whole(); } private void ListViewItem_Monitor(object sender, MouseButtonEventArgs e) { Picture.Content = new View.MonitorView(); } private void ListViewItem_Machine(object sender, MouseButtonEventArgs e) { Picture.Content = new View.MachinesView(); } private void ListViewItem_Curve(object sender, MouseButtonEventArgs e) { Picture.Content = new View.CurveView(); } private void ListViewItem_Programgroup(object sender, MouseButtonEventArgs e) { Picture.Content = new View.ProgramgroupView(); } private void ListViewItem_ConveyorCenters(object sender, MouseButtonEventArgs e) { Picture.Content = new View.DispenseView(); } private void Buttonhelp_Click(object sender, RoutedEventArgs e) { WindowsView.Help help_page = new WindowsView.Help(); help_page.Show(); } private void ButtonSYS_Click(object sender, RoutedEventArgs e) { Picture.Content = new View.SYSSetView(); } private void ButtonUSER_Click(object sender, RoutedEventArgs e) { WindowsView.User user_ = new WindowsView.User(); user_.Show(); } private void ButtonPermit_Click(object sender, RoutedEventArgs e) { WindowsView.CDKEY cDKEY = new WindowsView.CDKEY(); cDKEY.Show(); } public void CountDown() { DispatcherTimer timer1s = new DispatcherTimer//初始化循环 { Interval = TimeSpan.FromHours(1) }; timer1s.Tick += Tick_Event_1H; timer1s.Start(); } void Tick_Event_1H(object sender, EventArgs e)//Tick_Event周期执行事件 { CDkey_(); } private static UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini"); private void CDkey_() { try { string id_1 = MainWindowViewModel.SN_ID.Substring(5, 1) + MainWindowViewModel.SN_ID.Substring(0, 1) + MainWindowViewModel.SN_ID.Substring(4, 1) + MainWindowViewModel.SN_ID.Substring(1, 1) + MainWindowViewModel.SN_ID.Substring(3, 1) + MainWindowViewModel.SN_ID.Substring(2, 1); if ((id_1 == MainWindowViewModel.SN_KEY.Substring(0, 6)) && (MainWindowViewModel.SN_KEY.Length == 16)) { if (CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(MainWindowViewModel.SN_KEY.Substring(0, 12)), true) == MainWindowViewModel.SN_KEY.Substring(12, 4)) //校验key的crc校验值 { string Y = (2255 - StrToInt.To16Convert10(MainWindowViewModel.SN_KEY.Substring(6, 2))).ToString(); string M = (255 - StrToInt.To16Convert10(MainWindowViewModel.SN_KEY.Substring(8, 2))).ToString(); string D = (255 - StrToInt.To16Convert10(MainWindowViewModel.SN_KEY.Substring(10, 2))).ToString(); string YY = DateTime.Now.ToString("yyyy"); string MM = DateTime.Now.ToString("MM"); string DD = DateTime.Now.ToString("dd"); keytext.Text = "注册到期时间: " + Y + "/" + M + "/" + D; if (string.Compare(Y, YY) < 0) { if (string.Compare(M, MM) < 0) { if (string.Compare(D, DD) < 0) { Configini.IniWritevalue("SN", " SN1", "0000000000000000"); Cdk_page.Visibility = Visibility.Visible; //cdk_pageT_T = -1; //防止触发倒计时 } else if ((int.Parse(D) - int.Parse(DD)) <= 10)//提前10天提醒 { Cdk_page.Visibility = Visibility.Visible; } } } } else { Cdk_page.Visibility = Visibility.Visible; keytext.Text = "许可证安全校验错误请重新激活"; } } else { Cdk_page.Visibility = Visibility.Visible; keytext.Text = "计算机信息变更当前许可证失效"; } } catch (Exception) { keytext.Text = "许可证安全校验错误请重新激活"; } } private void username_DropDownClosed(object sender, EventArgs e) { MainWindowViewModel.USERCapacity(username.Text); } private void Window_Loaded(object sender, RoutedEventArgs e)//打开页面 { var windowHandle = new WindowInteropHelper(this).Handle; var currentScreen = Screen.FromHandle(windowHandle); System.Drawing.Rectangle rectangle = currentScreen.WorkingArea; this.Left = rectangle.Left; this.Top=rectangle.Top; this.Width = rectangle.Width; this.Height = rectangle.Height; } } }