using Philisense.Congress.CollectionUI.View; using Philisense.Congress.CollectionUI.View.UCControl.Login; using Philisense.Congress.CollectionUI.ViewModel.UCControl.Login; using Philisense.Congress.Common.View; using Philisense.Congress.Control.NetProtocol; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Diagnostics; using System.IO; using System.Linq; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Xml; namespace Philisense.Congress { /// /// App.xaml 的交互逻辑 /// public partial class App : Application { private string userName; public string UserName { get { return userName; } set { userName = value; } } private string userPwd; public string UserPwd { get { return userPwd; } set { userPwd = value; } } private string isRemind; public string IsRemind { get { return isRemind; } set { isRemind = value; } } private string _LastLoginTime; /// /// 最后登录时间 /// public string LastLoginTime { get { return _LastLoginTime; } set { _LastLoginTime = value; } } public Philisense.Congress.EFDatabase.T_UserInfo UserInfo { get; set; } /// /// 应用程序的主入口点。 /// [MTAThread] protected override void OnStartup(StartupEventArgs e) { //string ss = Guid.NewGuid().ToString(); #region 判断当前软件是否已注册 //Philisense.Congress.Common.Reg.CheckReg checkReg = new Philisense.Congress.Common.Reg.CheckReg(); //if (!checkReg.GetIsReg()) //{ // CMessageBox.Show("会议软件尚未在此电脑注册"); // return; //} #endregion #region 判断当前实例是否已运行 if (e.Args.Length > 0) { } else { Process Current = Process.GetCurrentProcess(); Process[] processesByName = Process.GetProcessesByName(Current.ProcessName); if (processesByName.Length > 1) { //for (int i = 0; i < processesByName.Length; i++) //{ // processesByName[i].Kill(); //} //如果程序已经运行,则给出提示。并退出本进程。 CMessageBox.Show("会议系统已经在运行!", "系统提示"); //可能你不需要弹出窗口,在这里可以屏蔽掉 Process.GetCurrentProcess().Close(); return; //Exit; } } #endregion #region 注册Aspose FileControl.ModifyInMemory.ActivateMemoryPatching(); #endregion base.OnStartup(e); //LoginViewModel loginviewmodel = new LoginViewModel(); //LoginWindow login = new LoginWindow(loginviewmodel); //loginviewmodel.OnShowMain += login_OnShowMain; //login.Show(); LoadNode(); if (IsRemind == "True" && !string.IsNullOrEmpty(UserName) && !string.IsNullOrEmpty(UserPwd)) { //LoginIn(); Common.View.LoadClass lc = new LoadClass("Loading..."); Common.View.LoadClass.DelegateNonParmAndHasReturn my = new LoadClass.DelegateNonParmAndHasReturn(LoginIn); object obj = lc.NonParmAndHasReturnMethod(my); } else { LoginCheckViewModel logincheckModel = new LoginCheckViewModel(); logincheckModel.OnShowMain += login_OnShowMain; LoginCheckView loginCheck = new LoginCheckView(logincheckModel); loginCheck.Show(); } } private object LoginIn() { string OutMsg = ""; Philisense.Congress.Collection.BLL.Sys.UserInfoManager userManager = new Philisense.Congress.Collection.BLL.Sys.UserInfoManager(); UserInfo = userManager.GetUserInfoByName_Pwd(UserName, Common.ToolsHelper.MD5Encrypt(UserPwd), out OutMsg); if (UserInfo != null) { //if (DateTime.Now < UserInfo.UI_LastLoginDate || Convert.ToUInt64(DateTime.Now.ToString("yyyyMMdd")) >= 20230820) //{ // CMessageBox.Show("会议系统已到期!", "系统提示"); // return null; //} UserInfo.UI_LastLoginDate = DateTime.Now; UserInfo.UI_LastLoginIP = Common.ToolsHelper.GetLocalIP(); userManager.Update(UserInfo); System.Windows.Application.Current.Dispatcher.Invoke(() => { Prism.Bootstrapper bootstrapper = new Prism.Bootstrapper(); bootstrapper.Run(); }); } return null; } object login_OnShowMain() { Prism.Bootstrapper bootstrapper = new Prism.Bootstrapper(); bootstrapper.Run(); return null; } public void LoadNode() { if (File.Exists("Xmls\\LoginConfig.xml")) { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("Xmls\\LoginConfig.xml"); XmlNodeList nodeList = xmlDocument.SelectSingleNode("data").ChildNodes;//获取Employees节点的所有子节点 foreach (XmlNode xn in nodeList)//遍历 { XmlElement xe = (XmlElement)xn; if (xe.GetAttribute("Name") == "登录名") { UserName = xe.InnerText; } if (xe.GetAttribute("Name") == "登录密码") { UserPwd = xe.InnerText; } if (xe.GetAttribute("Name") == "记住密码") { IsRemind = xe.InnerText; } if (xe.GetAttribute("Name") == "登录时间") { LastLoginTime = xe.InnerText; } } } } } }