using HML; using JinYuan.Helper; using JinYuan.Models; using JinYuan.VirtualDataLibrary; using Language; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace LargeSquareOne { public partial class FrmUserManage : MultiLanguageForm { public FrmUserManage() { InitializeComponent(); this.dgv_Main.AutoGenerateColumns = false; UpdateSysAdminList(); if (sysAdmins.Count > 0) { UpdateSysAdminInfo(sysAdmins[0]); } } /// /// 当前用户中所有的用户集合 /// private List sysAdmins = new List(); /// /// 更新用户集合 /// private void UpdateSysAdminList() { try { sysAdmins = CommonMethods.db.QueryDataTable(CommonMethods.dBSQL.GetSysAdminSql()).ToDataList(); sysAdmins.ForEach(c => c.LoginPwd = StringSecurityHelper.DESDecrypt(c.LoginPwd)); this.dgv_Main.DataSource = null; this.dgv_Main.DataSource = sysAdmins; } catch (Exception ex) { new FrmMsgBoxWithAck("查询失败:" + ex.Message, "用户查询失败").ShowDialog(); } } private void UpdateSysAdminInfo(SysAdmin sysAdmin) { this.txt_LoginName.Text = sysAdmin.LoginName; this.txtICCard.Text = sysAdmin.LoginUid; this.txt_LoginPwd.Text = sysAdmin.LoginPwd; this.txt_LoginPwd2.Text = sysAdmin.LoginPwd; this.cmbUserLevel.Text= sysAdmin.LoginLevel; this.chk_SystemLog.Checked = sysAdmin.SystemLog; this.chk_CPK.Checked = sysAdmin.CpkData; this.chk_HistorySelect.Checked = sysAdmin.HistoryData; this.chk_SystemSet.Checked = sysAdmin.SystemSet; this.chk_Paramset.Checked = sysAdmin.ParamSet; this.chk_UserManage.Checked = sysAdmin.UserManage; } private void FrmUserManage_Load(object sender, EventArgs e) { } private void cmbUserLevel_SelectedIndexChanged(object sender, EventArgs e) { CommonMethods.mesConfig.userLevel = cmbUserLevel.Text.ToString(); } private void dgv_Main_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { int i = this.dgv_Main.SelectedRows[0].Index; UpdateSysAdminInfo(sysAdmins[this.dgv_Main.SelectedRows[0].Index]); } } private void dgv_Main_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { //显示序列号 DataGridViewHelper.DgvRowPostPaint(this.dgv_Main, e); } private void dgv_Main_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex > 2) { string value = this.dgv_Main.Rows[e.RowIndex].Cells[e.ColumnIndex].Value?.ToString(); if (value == "True") { e.Value = "启用"; } else { e.Value = "禁用"; } } } private void btn_Add_Click(object sender, EventArgs e) { //数据验证 if (this.txt_LoginName.Text.Length == 0) { new FrmMsgBoxWithAck("用户名不能为空", "添加用户").ShowDialog(); return; } if (this.txt_LoginPwd.Text.Length == 0) { new FrmMsgBoxWithAck("用户密码不能为空", "添加用户").ShowDialog(); return; } if (this.txt_LoginPwd2.Text.Length == 0) { new FrmMsgBoxWithAck("确认密码不能为空", "添加用户").ShowDialog(); return; } if (this.txt_LoginPwd.Text != this.txt_LoginPwd2.Text) { new FrmMsgBoxWithAck("两次输入密码不一致", "添加用户").ShowDialog(); return; } if (sysAdmins.Where(c => c.LoginName == this.txt_LoginName.Text.Trim()).ToList().Count > 0) { new FrmMsgBoxWithAck("该用户名已经存在", "添加用户").ShowDialog(); return; } //封装数据 SysAdmin sysAdmin = new SysAdmin() { LoginName = this.txt_LoginName.Text.Trim(), LoginPwd = StringSecurityHelper.DESEncrypt(this.txt_LoginPwd.Text.Trim()), LoginUid = this.txtICCard.Text.Trim(), LoginLevel = CommonMethods.mesConfig.userLevel, SystemLog = this.chk_SystemLog.Checked, CpkData = this.chk_CPK.Checked, HistoryData = this.chk_HistorySelect.Checked, ParamSet = this.chk_Paramset.Checked, SystemSet = this.chk_SystemSet.Checked, UserManage = this.chk_UserManage.Checked }; //调用方法 try { if (CommonMethods.db.AddReturnBool(sysAdmin)) { UpdateSysAdminList(); } else { new FrmMsgBoxWithAck("添加用户失败", "添加用户").ShowDialog(); } } catch (Exception ex) { new FrmMsgBoxWithAck("添加用户失败:" + ex.Message, "添加用户").ShowDialog(); } } private void btn_Modify_Click(object sender, EventArgs e) { //数据验证 if (this.txt_LoginName.Text.Length == 0) { new FrmMsgBoxWithAck("用户名不能为空", "修改用户").ShowDialog(); return; } if (this.txt_LoginPwd.Text.Length == 0) { new FrmMsgBoxWithAck("用户密码不能为空", "修改用户").ShowDialog(); return; } if (this.txt_LoginPwd2.Text.Length == 0) { new FrmMsgBoxWithAck("确认密码不能为空", "修改用户").ShowDialog(); return; } if (this.txt_LoginPwd.Text != this.txt_LoginPwd2.Text) { new FrmMsgBoxWithAck("两次输入密码不一致", "修改用户").ShowDialog(); return; } //如果修改用户名就需要进行判断用户名是否存在 //if (sysAdmins[this.dgv_Main.SelectedRows[0].Index].LoginName != this.txt_LoginName.Text) //{ // if (sysAdmins.Where(c => c.LoginName == this.txt_LoginName.Text.Trim()).ToList().Count > 0) // { // new FrmMsgBoxWithAck("该用户名已经存在", "修改用户").ShowDialog(); // return; // } //} //封装数据 SysAdmin sysAdmin = new SysAdmin() { LoginId = sysAdmins[this.dgv_Main.SelectedRows[0].Index].LoginId, LoginName = this.txt_LoginName.Text.Trim(), LoginPwd = StringSecurityHelper.DESEncrypt(this.txt_LoginPwd.Text.Trim()), LoginUid=this.txtICCard.Text.Trim(), LoginLevel = CommonMethods.mesConfig.userLevel, SystemLog = this.chk_SystemLog.Checked, CpkData = this.chk_CPK.Checked, HistoryData = this.chk_HistorySelect.Checked, SystemSet = this.chk_SystemSet.Checked, ParamSet = this.chk_Paramset.Checked, UserManage = this.chk_UserManage.Checked }; //调用方法 try { if (CommonMethods.db.Update(sysAdmin, it => it.LoginId == sysAdmin.LoginId) == 1) { UpdateSysAdminList(); } else { new FrmMsgBoxWithAck("修改用户失败", "修改用户").ShowDialog(); } } catch (Exception ex) { new FrmMsgBoxWithAck("修改用户失败:" + ex.Message, "修改用户").ShowDialog(); } } private void btn_Delete_Click(object sender, EventArgs e) { int loginId = sysAdmins[this.dgv_Main.SelectedRows[0].Index].LoginId; string loginName = sysAdmins[this.dgv_Main.SelectedRows[0].Index].LoginName; try { if (new FrmMsgBoxWithAck($"是否删除{loginName}用户!", "删除提示").ShowDialog() == DialogResult.OK) { if (CommonMethods.db.Delete(it => it.LoginId == loginId) == 1) { UpdateSysAdminList(); } else { new FrmMsgBoxWithAck("删除用户失败", "修改用户").ShowDialog(); } } } catch (Exception ex) { new FrmMsgBoxWithAck("删除用户失败:" + ex.Message, "修改用户").ShowDialog(); } } private void btn_Clear_Click(object sender, EventArgs e) { this.txt_LoginName.Clear(); this.txtICCard.Clear(); this.txt_LoginPwd.Clear(); this.txt_LoginPwd2.Clear(); SetChecked(false); } private void btn_SelectAll_Click(object sender, EventArgs e) { SetChecked(!this.chk_SystemSet.Checked); } private void SetChecked(bool value) { this.chk_SystemLog.Checked = value; this.chk_CPK.Checked = value; this.chk_HistorySelect.Checked = value; this.chk_SystemSet.Checked = value; this.chk_Paramset.Checked = value; this.chk_UserManage.Checked = value; } #region 减少闪烁 protected override CreateParams CreateParams { get { CreateParams parss = base.CreateParams; parss.ExStyle |= 0x02000000; return parss; } } #endregion private void txtICCard_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.V) { e.Handled = true; } } DateTime dt1; DateTime dt2; private void txtICCard_KeyUp(object sender, KeyEventArgs e) { string Item= txtICCard.Text.Trim(); if (txtICCard.TextLength==1) { dt1 =System.DateTime.Now; } if (txtICCard.TextLength == 2) { dt2 = System.DateTime.Now; TimeSpan _ts = dt2.Subtract(dt1); if (_ts.Milliseconds > 50) { new FrmMsgBoxWithAck("禁止手动输入,请使用厂牌扫描录入", "IC卡号").ShowDialog(); txtICCard.Clear(); } } } } }