/******************************
* 说明:登录界面
* 创建人:龚宇超
* 创建日期:2017-08-08
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
******************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lskj.Control.Model;
using Lskj.Business;
using Lskj.Control;
using Lskj.Data;
using Lskj.Util;
using Lskj.Core;
using Lskj.PubMrpAnalyze.Properties;
using Lskj.Model;
using Lskj.PubMrpAnalyze.Model;
using DevExpress.XtraEditors.Controls;
using Lskj.Business.Impl;
using DevExpress.LookAndFeel;
using Lskj.AutoUpdate;
using System.Net;
using System.Xml;
using System.IO;
using System.Text.RegularExpressions;
using DevExpress.XtraGrid.Columns;
using static Lskj.PubMrpAnalyze.AboutDevCompanion;
using System.Threading;
namespace Lskj.PubMrpAnalyze
{
///
/// 登录界面
///
public partial class FrmLogin : Form
{
private string m_UpdateIP = "";
private byte[] g_KeyValue = { 212, 61, 139, 3, 54, 70, 213, 254 };
///
/// 是否鼠标按下
///
private bool _isMouseDown;
///
/// 记录窗口位置
///
private Point _mousePostion;
private DataTable _ledgerTable;
private DataTable _userTable;
Regex regex = new Regex(@"(?=.*[0-9]) #必须包含数字
(?=.*[a-zA-Z]) #必须包含小写或大写字母
(?=.*[^a-zA-Z0-9]) #必须包含符号
.{8,18} #至少6个字符,最多18个字符
", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
public FrmLogin()
{
InitializeComponent();
}
#region 方法相关
///
/// 说明:登陆时验证信息
/// 创建人:王一帆
/// 创建日期:2020-12-10
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private int XlValid()
{
int Rtn = 0;
try
{
DataRow dr = BaseImpl.GetVeriSystemTab();
if (dr != null)
{
ERPInfo.Instance.ClientName = dr["ClientName"].ToString() + " (注:软件维护截止时间:2020-9-21)";
ERPInfo.Instance.bSmartClientIsOK = dr["hasCommunicationClient"].ToString() == "1";
m_UpdateIP = dr["UpdateIP"].ToString().Trim();
ERPInfo.Instance.SkinName = dr["SkinPath"].ToString();
//在这用线程检测路径是否正确,不能阻塞主程序流程
if (m_UpdateIP != string.Empty)
{
ThreadFun dd = new ThreadFun(CheckDirectoryExist);
ThreadHelper.AddProcedure(dd);
}
if (dr["coid"].ToString() == "9090")
{
if (DateTime.Now < DateTime.Parse("2014-12-01"))
return Rtn;
}
string ValidateCodeE = "", ValidateCodeT = "";
int CodeELen = 0, CodeTLen = 0;
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
if (DelphiHelper.GetValidateCode(ref sb1, ref CodeELen, ref sb2, ref CodeTLen) == false)
throw new Exception("");
ValidateCodeE = sb1.ToString().Substring(0, CodeELen);//jY3vY7lfEs8=
sb1.Clear();
sb1.Append(ValidateCodeE);
ValidateCodeT = sb2.ToString().Substring(0, CodeTLen);//k3b5LNPzWeIK4gqggtYZ1A==
sb2.Clear();
sb2.Append(ValidateCodeT);
string GclientName = dr["clientname"].ToString();
int Gtagid = int.Parse(dr["UserTagid"].ToString());
if (Gtagid == 1)
{
string Guserid = Publentry.XGetDate(new StringBuilder().Append(Publentry.Decrypt_Des(sb1, g_KeyValue)));
//FindPassWord(Guserid, "", "");
}
else
{
string endstr = Publentry.XGetDate(new StringBuilder(Publentry.Decrypt_Des(sb1, g_KeyValue)));
ERPInfo.Instance.ClientName = dr["ClientName"].ToString() + " (注:软件维护截止时间:" + endstr + ")";
if (DateTime.Parse(Publentry.XGetDate(new StringBuilder(Publentry.Decrypt_Des(sb1, g_KeyValue)))) < DateTime.Now)
{
Rtn = 1;
MessageUtil.Show("软件已经达到的最后期限请与朗速软件联系!");
return 1;
//Publentry.XGetDate(new StringBuilder(Publentry.Decrypt_Des(sb1, g_KeyValue))) "2099-12-31" string
}
string GEndDate = Publentry.Decrypt_Des(sb2, g_KeyValue);
if (DateTime.Parse(GEndDate) < DateTime.Now)
{
Rtn = 1;
MessageUtil.Show("软件已过期请与朗速软件公司联系");
return 1;
}
if (DateTime.Parse(GEndDate) < DateTime.Now.AddDays(7))
{
TimeSpan ts = DateTime.Parse(GEndDate) - DateTime.Now;
MessageUtil.Show("你软件维护周期时间还剩 " + ts.ToString() + " 天,请速与管理员联系");
return 1;
}
}
}
else
{
Rtn = 5;
MessageBox.Show("软件数据被人为破坏导致软件不能正常运行请与朗速软件公司联系");
}
}
catch (Exception ex)
{
Rtn = 1;
MessageBox.Show("软件数据破坏,请与朗速软件公司联系" + ex.Message);
}
return Rtn;
}
///
/// 说明:在这用线程检测路径是否正确,不能阻塞主程序流程
/// 创建人:王一帆
/// 创建日期:2020-12-10
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void CheckDirectoryExist()
{
string strDir = "\\\\" + m_UpdateIP + "\\update";
if (Directory.Exists(strDir))
ERPInfo.Instance.UpdateIP = m_UpdateIP;
}
///
/// 说明:设置帐套信息
/// 创建人:龚宇超
/// 创建日期:2017-08-09
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void SetLedgers()
{
// 获取帐套信息
try
{
_ledgerTable = MainImpl.GetLedgerList();
cbLedger.Properties.Items.Clear();
if (_ledgerTable.Rows.Count > 0)
{
foreach (DataRow item in _ledgerTable.Rows)
{
cbLedger.Properties.Items.Add(item["ShowName"]);
}
if (!string.IsNullOrEmpty(DBConfig.Instance.DataBase))
{
DataRow ledRow = _ledgerTable.Rows.Cast().FirstOrDefault(x => DBConfig.Instance.DataBase.Equals(x["DBname"] + ""));
cbLedger.Text = ledRow != null ? ledRow["ShowName"] + "" : _ledgerTable.Rows[0]["ShowName"] + "";
}
else
if (!string.IsNullOrEmpty(DBConfig.Instance.DataBook))//数据库连接参数配置类的帐套
{
DataRow ledRow = _ledgerTable.Rows.Cast().FirstOrDefault(x => DBConfig.Instance.DataBook.Equals(x["ShowName"] + ""));
cbLedger.Text = ledRow != null ? ledRow["ShowName"] + "" : _ledgerTable.Rows[0]["ShowName"] + "";
}
else
{
cbLedger.Text = _ledgerTable.Rows[0]["ShowName"] + "";
}
//this.StartLedger(cbLedger.EditValue + "");
}
else
{
cbLedger.Enabled = false;
}
}
catch (Exception)
{
}
}
///
/// 说明:设置系统用户
/// 创建人:龚宇超
/// 创建日期:2017-08-09
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void SetUsers()
{
BaseImpl.HasExistsColumn("P_SystemTab", "LoginPopupFlag", "int");
lueUserName.Focus();
lueUserName.ValueField = lueUserName.ValueMember = "UserId";
lueUserName.TextMember = "UserName";
lueUserName.SourceSQL = "select EmployeeId UserId,LoginAccount UserCode,EmployeeName UserName from P_EmployeeTab WHERE sign=0 and UseFlag=1";
if (SystemInfo.Instance.DisplayUserCode)
{
lueUserName.SourceSQL = "select EmployeeId UserId,LoginAccount UserCode,EmployeeName UserName, LoginAccount remark from P_EmployeeTab WHERE sign=0 and UseFlag=1";
_userTable = MainImpl.GetEmployeeListNew();
}
else {
_userTable = MainImpl.GetEmployeeList();
}
lueUserName.DataSource = _userTable;
if (SystemInfo.Instance.DisplayUserCode)
{
//GridColumn workNumberColumn = new GridColumn();
//workNumberColumn.Name = workNumberColumn.FieldName = "UserCode";
//workNumberColumn.Caption = "工号";
//workNumberColumn.Visible = true;
//workNumberColumn.Width = 120;
//this.lueUserName._popup.GridViewObj.Columns.Add(workNumberColumn);
GridColumn gridColumn = this.lueUserName._popup.GridViewObj.Columns.First(x => x.FieldName.Equals("remark"));
if(gridColumn!=null) gridColumn.Caption = "工号";
}
lueUserName.AutoShowPopup = "1".Equals(BaseImpl.GetResult("SELECT LoginPopupFlag FROM P_SystemTab") + "");
DataRow[] rowItems = _userTable.Select(" UserName = '" + DBConfig.Instance.LoginName + "'");
if (rowItems != null && rowItems.Length > 0)
{
lueUserName.EditValue = rowItems[0][lueUserName.ValueField] + "";
StateFlushed();
}
}
///
/// 说明:设置delphi参数
/// 创建人:龚宇超
/// 创建日期:2018-03-12
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void SetDelphiDllParams()
{
try
{
StringBuilder sb1 = new StringBuilder();
sb1.Append(ERPInfo.Instance.UserName);
StringBuilder sb2 = new StringBuilder();
sb2.Append(ERPInfo.Instance.WindowName);
StringBuilder sb3 = new StringBuilder();
sb3.Append(ERPInfo.Instance.SkinName);
//给delphi库设置参数(用户id、子系统id、操作员名称、计算机名称)
DelphiHelper.Delphi_SetParams(Convert.ToInt32(ERPInfo.Instance.UserId), Convert.ToInt32(ERPInfo.Instance.SubSysId), sb1, sb2, sb3);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
LogHelper.Instance.WriteError(ex);
//LogUtil.WriteError("设置delphi参数错误", ex);
}
}
///
/// 说明:启动自动更新
/// 创建人:龚宇超
/// 创建日期:2018-02-23
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void StartAutoUpdate()
{
if (string.IsNullOrEmpty(SystemInfo.Instance.UpdateAddress))
{
MessageUtil.Show(ResourceKeys.UpdateAddressIsNull);
return;
}
bool isUpdateSucess = false;
IAutoUpdater updater = new AutoUpdater(SystemInfo.Instance.UpdateAddress, true);
try
{
updater.Update();
isUpdateSucess = true;
}
catch (WebException ex)
{
MessageUtil.Show(ResourceKeys.ServerConnectionFault + "\r\n" + ex);
}
catch (XmlException ex)
{
MessageUtil.Show(ResourceKeys.DownLoadUpdateXmlFault + "\r\n" + ex);
}
catch (NotSupportedException ex)
{
MessageUtil.Show(ResourceKeys.UpdateXmlSettingFault + "\r\n" + ex);
}
catch (ArgumentException ex)
{
MessageUtil.Show(ResourceKeys.DownLoadUpdateFileFault + "\r\n" + ex);
}
catch (Exception ex)
{
MessageUtil.Show(ResourceKeys.UpdateError + "\r\n" + ex);
LogHelper.Instance.WriteError(ex);
LogUtil.WriteError("更新失败!", ex);
}
finally
{
if (!isUpdateSucess)
{
try
{
updater.RollBack();
}
catch (Exception)
{
}
}
}
}
///
/// 说明:启动小平台
/// 创建人:龚宇超
/// 创建日期:2018-02-23
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void StartSmallClient()
{
try
{
if (File.Exists(PubUtil.AbsolutelySmallClientPath))
{
//WinHelper.WinExec(PubUtil.AbsolutelySmallClientPath + " " + ERPInfo.Instance.UserId + " " + ERPInfo.Instance.Password);
string[] args = new string[2];
args[0] = ERPInfo.Instance.UserId;
args[1] = ERPInfo.Instance.Password;
WinHelper.StartProcess(PubUtil.AbsolutelySmallClientPath, args);
}
else
{
MessageUtil.Show(this.chkClient.Text + ResourceKeys.FileNotFound);
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:开始登录
/// 创建人:龚宇超
/// 创建日期:2018-03-05
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void StartLogin()
{
string userId = lueUserName.EditValue + "";
string userName = lueUserName.Text.Trim();
string password = txtPassword.Text.Trim();
string LoginAccount = string.Empty;
// 设置登录用户信息
bool isConstraint = chkLogin.Checked;
if (string.IsNullOrWhiteSpace(userName))
{
MessageUtil.Show(ResourceKeys.UserNameNotNull);
return;
}
try
{
// 默认有可能有空
DataTable table = MainImpl.GetEmployeeList();//获取员工信息存到表中
DataRow[] drRows = table.Select("UserName='" + userName + "' or UserCode='" + userName + "'");//找到所有UserNAme或UserCode为xxx的用户
if ((drRows == null) || (drRows.Count() < 1))
{
MessageUtil.Show(ResourceKeys.NameOrPasswordError);
return;
}
//找到多个操作员
if (drRows.Count() > 1)
{
MessageUtil.Show(ResourceKeys.DuplicatedNameError);
return;
}
DataRow drRow = drRows[0];
//DataRow drRow = table.Rows.Cast().FirstOrDefault(x => userName.Equals(x["UserName"] + ""));
if (drRow != null)
{
userId = drRow["UserId"] + "";
userName = drRow["UserName"] + "";
LoginAccount = drRow["UserCode"] + "";
}
else
{
userId = "";
}
if (string.IsNullOrWhiteSpace(userId))
{
MessageUtil.Show(ResourceKeys.UserNotFound);
return;
}
ERPInfo.Instance.LoginResult = true;
// 检查Mac地址
if (SystemInfo.Instance.MacEnabled)
{
int result = MainImpl.CheckMacAddress(ERPInfo.Instance.MacAddress, userId);
MainImpl.LoginAfterRegister(ERPInfo.Instance.MacAddress, userId);
if (result == 0)
{
MessageUtil.Show(ResourceKeys.LoginFault + ResourceKeys.UnKownMacAddress);
return;
}
if (result == -1)
{
MessageUtil.Show(ResourceKeys.LoginFault + ResourceKeys.UnKownMacAddressTable);
return;
}
}
WaitForm.ShowForm(ResourceKeys.Logining);//验证登录后的加载框上输出的信息
int loginResult = MainImpl.Login(userId, password, isConstraint);
switch (loginResult)
{
case 0: // 登录成功
//更改系统日期格式
if (SystemInfo.Instance.AutoSystemDataFormat)
{
FormatSystemDatetime formatSystemDatetime = new FormatSystemDatetime();
formatSystemDatetime.SetDateTimeFormat();
}
// 设置皮肤
string skinName = MainImpl.GetUserSkin(userId);
skinName = string.IsNullOrEmpty(skinName) ? ERPInfo.Instance.SkinName : skinName;
UserLookAndFeel.Default.SetSkinStyle(skinName);
IniHelper.Write(DBConfig.Instance.ServerName + userName, AESUtil.Encrypt(chkRemPwd.Checked + "^" + password));
ERPInfo.Instance.UserId = userId;
ERPInfo.Instance.UserName = userName;
ERPInfo.Instance.Password = SHAHelper.EncryptPassword(password);
ERPInfo.Instance.SkinName = skinName;
ERPInfo.Instance.AccountBook = cbLedger.Text;
ERPInfo.Instance.LoginAccount = LoginAccount;
ERPInfo.Instance.InPassWord = password;
DBConfig.Instance.LoginName = userName;
DBConfig.Instance.NoticeUserID = userId;
DBConfig.Instance.NoticeUserName = userName;
DBConfig.Instance.NoticeClient = chkNotice.Checked;
DBConfig.Instance.UpdateSet = chkUpdate.Checked;
DBConfig.Instance.SmallClient = chkClient.Checked;
DBConfig.Instance.DataBook = cbLedger.Text;
DBConfig.Instance.WriteConfig();
if (userName.Equals("管理员") && !string.IsNullOrWhiteSpace(ERPInfo.Instance.LoginAccount))
{
password = SqlHelper.ExecuteString("Password", "select Password from P_EmployeeTab where LoginAccount='" + ERPInfo.Instance.LoginAccount + "'");
ERPInfo.Instance.Password = password;
}
this.SetDelphiDllParams(); // 设置调用delphi参数
bool isStartMain = true;
bool isVerfyPassword = SystemInfo.Instance.VerfyPasswordStrength ? !regex.IsMatch(password) : false;
if ((SystemInfo.Instance.ForceUpdatePassword && string.IsNullOrEmpty(password)) || isVerfyPassword)
{
// 弹出修改密码窗口
FrmPassword frmPassword = new FrmPassword();
frmPassword.UserId = userId;
frmPassword.UserName = userName;
DialogResult result = frmPassword.ShowDialog();
isStartMain = result == DialogResult.OK;
}
if (isStartMain)
{
// 检查自动升级
if (chkUpdate.Checked)
{
WaitForm.ShowForm(ResourceKeys.AutoUpdating);
this.StartAutoUpdate();
}
// 启动小平台
if (chkClient.Checked)
{
this.StartSmallClient();
}
// 启动消息通知平台
if (chkNotice.Checked)
{
this.StartNotice();
}
this.DialogResult = DialogResult.OK;
//记录登录日志
LogUtil.WriteDebug("", "登录软件", "进入操作", "系统登录");
this.Close();
}
break;
case 1: // 密码不正确
MessageUtil.Show(ResourceKeys.NameOrPasswordError);
break;
case 2: // 已有此用户登录
MessageUtil.Show(ResourceKeys.AlreadyLogin);
break;
case -1: // 登录失败
default:
MessageUtil.Show(ResourceKeys.LoginFault);
break;
}
}
catch (Exception ex)
{
MessageUtil.Show(ResourceKeys.LoginFault + "\r\n" + ex.Message);
LogUtil.WriteError(ResourceKeys.UserLogin, ex);
}
finally
{
WaitForm.HideForm();
}
}
///
/// 初始化mrp缓存数据
///
private void InitCacheData()
{
string modelCode = "MRP001";
ModuleModel MoudleMainObj = new ModuleModel(MainImpl.GetSystemdllTab(modelCode));//获取主模块构建类
if (!Manager.cacheDic.ContainsKey(MoudleMainObj.CondKey+ "_queryTable"))
{
DataTable queryTable = BaseModuleImpl.GetCustomQueryFields(MoudleMainObj.CondKey);//获取主模块构建的条件
Manager.cacheDic.Add(MoudleMainObj.CondKey+ "_queryTable", queryTable);
}
DataTable moduleDetailTable = BaseModuleImpl.GetBaseDetailPages(modelCode);//获取所有主表配置明细
foreach (DataRow item in moduleDetailTable.Rows)
{
GridDetailModel gridDetailModel = new GridDetailModel(item);
string moduleCode = gridDetailModel.UnionModule;
ModuleModel MoudleDetailObj = new ModuleModel(MainImpl.GetSystemdllTab(moduleCode));//获取模块构建类
if (!Manager.cacheDic.ContainsKey(MoudleDetailObj.CondKey+"_queryTable"))
{
DataTable queryTable = BaseModuleImpl.GetCustomQueryFields(MoudleDetailObj.CondKey);//获取模块构建的条件
Manager.cacheDic.Add(MoudleDetailObj.CondKey+ "_queryTable", queryTable);
}
}
}
///
/// 说明:打开消息通知
/// 创建人:龚宇超
/// 创建日期:
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
private void StartNotice()
{
FormHelper.StartProcess("Ls_Notice", new string[] { ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, ERPInfo.Instance.Password });
}
///
/// 说明:帐套
/// 创建人:龚宇超
/// 创建日期:2019-11-11
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// Name of the type.
private void StartLedger(string ledgerValue)
{
DataRow focusRow = _ledgerTable.Rows.Cast().FirstOrDefault(x => ledgerValue.Equals(x["ShowName"] + ""));
if (focusRow != null)
{
string serverIP = focusRow["IP"] + "";
string dbName = focusRow["DBName"] + "";
string dataBook = focusRow["ShowName"] + "";
if (string.IsNullOrWhiteSpace(serverIP) || string.IsNullOrWhiteSpace(dbName))
{
MessageUtil.Show(ResourceKeys.UnSetServerAddress);
return;
}
else
{
DBConfig.Instance.DataBook = dataBook;
DBConfig.Instance.ServerName = serverIP;
DBConfig.Instance.DataBase = dbName;
if (!DBConfig.Instance.CreateConnection(DBConfig.Instance.Connection))
{
MessageUtil.Show(ResourceKeys.ServerAddressFault);
return;
}
else
{
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection(DBConfig.Instance.dephiConnection))) == 0)
{
MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]");
return;
}
ERPInfo.Instance.AccountBook = ResourceKeys.CurrentAccountBook + ledgerValue;
SystemInfo.RefreshSystemParam();
this.SetUsers();
}
}
}
}
#endregion
#region 事件相关
///
/// 说明:登录界面加载时
/// 创建人:龚宇超
/// 创建日期:2017-08-08
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnLoginLoad(object sender, EventArgs e)
{
try
{
Thread thread = new Thread(InitCacheData);
thread.Start();
string file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SystemResources.ini");
if (File.Exists(file))
{
string configFlag = IniHelper.Read("SystemResources.ini", "FrmConfigFlag");
if (configFlag.Equals("1"))
this.btnSetConfig.Text = "服务器直连";
else
this.btnSetConfig.Text = "数据库连接";
}
else
{
this.btnSetConfig.Text = "数据库连接";
File.Create(file);
}
BaseImpl.HasExistsColumn("P_SystemTab", "BsAttachFlag", "int default(0)");
this.chkUpdate.Checked = DBConfig.Instance.UpdateSet;
this.chkClient.Checked = DBConfig.Instance.SmallClient;
this.chkNotice.Checked = DBConfig.Instance.NoticeClient;
if (SystemInfo.Instance.AutomaticUpdates)
{
this.chkUpdate.Checked = true;
this.chkUpdate.Enabled = false;//启用自动更新禁止修改
}
if (SystemInfo.Instance.AutoCheckedNotice)
{
this.chkNotice.Checked = true;
}
this.BackgroundImage = BitMapHelper.getBitmap(BitMapEnum.loginbg);
this.lblCopyright.Text = string.IsNullOrEmpty(SystemInfo.Instance.CopyRight) ? this.lblCopyright.Text : SystemInfo.Instance.CopyRight;
this.SetLedgers();
this.SetUsers();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
//LogUtil.WriteError(ResourceKeys.LoginModuleName, ex);
MessageUtil.Show(ResourceKeys.CheckDataFault);
}
//finally
//{
// SplashForm.HideForm();
//}
}
///
/// 缓存数据源(固定数据源)
///
public void cacheDic()
{
}
///
/// 说明:关闭程序
/// 创建人:龚宇超
/// 创建日期:2017-08-10
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnColseClick(object sender, EventArgs e)
{
try
{
DialogResult result = MessageUtil.Show(ResourceKeys.IsExit, MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
Application.Exit();
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:设置服务器地址
/// 创建人:龚宇超
/// 创建日期:2017-08-11
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnSetConfigClick(object sender, EventArgs e)
{
try
{
FrmConfigSet frmConfigSet = new FrmConfigSet();
//FrmConfig config = new FrmConfig();
//DialogResult result = config.ShowDialog();
DialogResult result = frmConfigSet.ShowDialog();
string nConfigFlag = IniHelper.Read("SystemResources.ini", "FrmConfigFlag");
if (nConfigFlag.Equals("1"))
this.btnSetConfig.Text = "服务器直连";
else
this.btnSetConfig.Text = "数据库连接";
if (result == DialogResult.OK)
{
this.SetLedgers();
this.SetUsers();
SystemInfo.RefreshSystemParam();
}
}
catch (Exception ex)
{
// LogUtil.WriteError(ResourceKeys.LoginModuleName, ex);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:登录
/// 创建人:龚宇超
/// 创建日期:2017-08-12
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnLoginClick(object sender, EventArgs e)
{
try
{
this.StartLogin();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:切换帐套
/// 创建人:龚宇超
/// 创建日期:2017-08-15
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnLedgerClosed(object sender, ClosedEventArgs e)
{
try
{
WaitForm.ShowForm(ResourceKeys.ServerConnecting);
string ledgerValue = cbLedger.EditValue + "";
this.StartLedger(ledgerValue);
}
catch (Exception ex)
{
// LogUtil.WriteError(ResourceKeys.LoginModuleName, ex);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
finally
{
WaitForm.HideForm();
}
}
///
/// 说明:鼠标离开时
/// 创建人:龚宇超
/// 创建日期:2017-08-12
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnLoginMouseLeave(object sender, EventArgs e)
{
try
{
btnLogin.BackgroundImage = Resources.login_btn;
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:鼠标移动时
/// 创建人:龚宇超
/// 创建日期:2017-08-12
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnLoginMouseMove(object sender, MouseEventArgs e)
{
try
{
btnLogin.BackgroundImage = Resources.login_btn_select;
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:清空选中
/// 创建人:龚宇超
/// 创建日期:2017-12-06
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnUserNameKeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Back)
{
this.lueUserName.EditValue = null;
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:清空EditValue值
/// 创建人:龚宇超
/// 创建日期:2017-12-06
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnUserNameTextChanged(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(this.lueUserName.Text))
{
this.lueUserName.EditValue = null;
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:回车登录
/// 创建人:龚宇超
/// 创建日期:2018-03-05
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void OnPasswordKeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.Enter)
{
this.StartLogin();
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:打开日志
/// 创建人:龚宇超
/// 创建日期:2018-06-01
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The sender.
/// The instance containing the event data.
private void OnLogClick(object sender, EventArgs e)
{
try
{
if (File.Exists(PubUtil.SystemUpdateLogPath))
{
System.Diagnostics.Process.Start("notepad.exe", PubUtil.SystemUpdateLogPath);
}
}
catch (Exception)
{
}
}
#endregion
#region 窗口拖动行为
///
/// 说明:鼠标按下
/// 创建人:龚宇超
/// 创建日期:2017-08-14
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void plTop_MouseDown(object sender, MouseEventArgs e)
{
try
{
base.OnMouseDown(e);
_mousePostion = Cursor.Position;
_isMouseDown = true;
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:鼠标放开
/// 创建人:龚宇超
/// 创建日期:2017-08-14
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void plTop_MouseUp(object sender, MouseEventArgs e)
{
try
{
base.OnMouseUp(e);
_isMouseDown = false;
//this.Focus();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 说明:鼠标移动
/// 创建人:龚宇超
/// 创建日期:2017-08-14
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
private void plTop_MouseMove(object sender, MouseEventArgs e)
{
try
{
base.OnMouseMove(e);
if (_isMouseDown)
{
Point tempPos = Cursor.Position;
this.Location = new Point(Location.X + (tempPos.X - _mousePostion.X), Location.Y + (tempPos.Y - _mousePostion.Y));
_mousePostion = Cursor.Position;
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
#endregion
///
/// 用户值改变事件
///
///
///
private void OnEditValueChanged(object sender, EventArgs e)
{
try
{
StateFlushed();
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
///
/// 用户值改变方法
///
///
///
public void StateFlushed()
{
string UserName = lueUserName.Text.Trim();
DataTable table = MainImpl.GetEmployeeList();//获取员工信息存到表中
bool isClear = true;
if (!string.IsNullOrEmpty(UserName))
{
string[] PwdState = AESUtil.Decrypt(IniHelper.Read(DBConfig.Instance.ServerName + UserName)).Split('^');
if (PwdState.Count() == 2)
{
chkRemPwd.Checked = Convert.ToBoolean(PwdState[0]);
if (chkRemPwd.Checked)
{
this.txtPassword.Text = PwdState[1];
isClear = false;
}
}
}
if (isClear)
{
chkRemPwd.Checked = false;
this.txtPassword.Text = string.Empty;
}
}
}
}