private void btnLogin_Click(object sender, System.EventArgs e) { if (string.IsNullOrEmpty(cmbEmpID.Text) || string.IsNullOrEmpty(txtPassword.Text)) { MessageBox.Show(@"请输入账号和密码!"); return; } BllServer bllServer = new BllServer(); BllEmployee bllEmployee = new BllEmployee(); BllEmpPowers bllEmpPowers = new BllEmpPowers(); try { if (bllServer.TestConnection()) { using (DataTable dtUser = bllEmployee.GetEmployeeInfo(cmbEmpID.Text, 0)) { if (dtUser == null) { MessageBox.Show(@"工号输入错误或不存在该人员工号!"); cmbEmpID.Text = string.Empty; txtPassword.Text = string.Empty; cmbEmpID.Focus(); return; } if (dtUser.Rows.Count == 0) { MessageBox.Show(@"没有创建该工号!"); cmbEmpID.Text = string.Empty; txtPassword.Text = string.Empty; cmbEmpID.Focus(); return; } if (!dtUser.Rows[0]["Password"].ToString().Equals(txtPassword.Text)) { MessageBox.Show(@"密码错误,请重新输入!"); txtPassword.Text = string.Empty; txtPassword.Focus(); return; } if (chkRemember.Checked) { //记住用户名 string strLoginName = cmbEmpID.Text; List <string> lstLoginName = new List <string> { strLoginName }; string[] registry = ResistryKey.GetRegistry(RegisterValueName); if (null != registry) { foreach (string name in registry.TakeWhile(name => lstLoginName.Count < MaxLoginNameSaveCount).Where(name => 0 != StringComparer.CurrentCulture.Compare(strLoginName.ToUpper(), name.ToUpper()))) { lstLoginName.Add(name); } } ResistryKey.SetRegistry(RegisterValueName, lstLoginName.ToArray()); } //保存用户信息 Employee employee = new Employee(); employee.EmployeeNo = dtUser.Rows[0]["EmployeeNo"].ToString(); employee.EmployeeName = dtUser.Rows[0]["EmployeeName"].ToString(); employee.Age = Convert.ToInt32(dtUser.Rows[0]["Age"]); employee.Gender = dtUser.Rows[0]["Gender"].ToString(); employee.MoblePhone = dtUser.Rows[0]["MoblePhone"].ToString(); employee.PassWord = dtUser.Rows[0]["PassWord"].ToString(); CurrentInfo.currentEmp = employee; dtUser.Dispose(); //用户权限 Dictionary <int, string> empPowersLst = new Dictionary <int, string>(); DataTable dtPower = bllEmpPowers.GetEmpPowers(cmbEmpID.Text); for (int i = 0; i < dtPower.Rows.Count; i++) { if (!empPowersLst.ContainsKey(Convert.ToInt32(dtPower.Rows[i]["PowerNo"]))) { empPowersLst.Add(Convert.ToInt32(dtPower.Rows[i]["PowerNo"]), dtPower.Rows[i]["EmployeeNo"].ToString()); } } CurrentInfo.currentPowers = empPowersLst; dtPower.Dispose(); //List<EmpPowers> empPowersLst = new List<EmpPowers>(); //DataTable dtPower = bllEmpPowers.GetEmpPowers(cmbEmpID.Text); //for (int i = 0; i < dtPower.Rows.Count; i++) //{ // EmpPowers empPowers = new EmpPowers(); // empPowers.EmployeeNo = dtPower.Rows[0]["EmployeeNo"].ToString(); // empPowers.PowerNo = dtPower.Rows[0]["PowerNo"].ToString(); // empPowersLst.Add(empPowers); //} FrmMain frmMain = new FrmMain(); this.Hide(); frmMain.ShowDialog(); } } else { MessageBox.Show(@"网络连接失败,检查网络后重试!"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); Application.Exit(); Application.ExitThread(); } }