You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

203 lines
6.7 KiB
C#

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
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
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;
/// <summary>
/// 最后登录时间
/// </summary>
public string LastLoginTime
{
get { return _LastLoginTime; }
set { _LastLoginTime = value; }
}
public Philisense.Congress.EFDatabase.T_UserInfo UserInfo { get; set; }
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[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;
}
}
}
}
}
}