/// <summary> /// 获取管理者登录的所有信息 /// </summary> /// <param name="admin">通过SysAdminsModel在窗口中拿到Id和pwd的数据:的可以查找数据库中 存储过程(SysAdminLogin存储过程名)中 管理者的具体数据</param> /// <returns></returns> public SysAdminsModel AdminLogin(SysAdminsModel admin) { //【1】根据用户账号和密码调用查询用户登录 SysAdminsModel sys = GetServer.AdminLogin(admin); //管理员登录然后状态是启用,可以登录 if (sys != null && sys.AdminStatus == 1) { //【2】写入登录日志 //管理者的登录退出也要写入到数据库的日志里面 LoginLogsModel log = new LoginLogsModel() { LoginId = sys.LoginId, SPName = sys.AdminName, //获取本地计算机名字 ServerName = Dns.GetHostName() }; //保存当前管理员登录日志的ID //通过Id获取收银员退出超市管理系统(这个结果通过日志进入时拿到当前的返回Id) sys.LoginLogId = manager.BllWriteSelesLog(log); } else { sys = null; } return(sys); }
/// <summary> /// 获取管理者登录的信息 /// </summary> /// <param name="admin">通过SysAdminsModel在窗口中拿到Id和pwd的数据:的可以查找数据库中 存储过程(SysAdminLogin存储过程名)中 管理者的具体数据</param> /// <returns></returns> public SysAdminsModel AdminLogin(SysAdminsModel admin) { string procName = "SysAdminLogin"; //实例化参数SqlParameter,并给以参数赋获取的值 SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@logId", admin.LoginId), new SqlParameter("@LogPwd", admin.LoginPwd) }; //向数据库中的方法获取值,这样又拿到数据库中的数据(把通过Id和pwd获取的正行数据) SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); //创建SysAdminsModel管理者的存储数据的类 SysAdminsModel admins = null; //reader把所有管理者的数据拿到了 while (reader.Read()) { //把所有的数据库获取的数据放在SysAdminsModel类里面存储 admins = new SysAdminsModel() { AdminName = reader["AdminName"].ToString(), LoginId = Convert.ToInt32(reader["LoginId"]), LoginPwd = reader["LoginPwd"].ToString(), Roleld = Convert.ToInt32(reader["Roleld"]), AdminStatus = Convert.ToInt32(reader["AdminStatus"]) }; } reader.Close(); return(admins); }
//【4Day15剩下的】 /// <summary> /// 获取数据库中管理者的所有内容 /// GetAllTables可以获取所有表的储存过程 /// </summary> /// <returns></returns> public List <SysAdminsModel> GetAdmins() { //GetAllTables可以获取所有表的储存过程 //获取这种表的存储过程 string procName = "GetAllTables"; SqlParameter[] sp = { //获取数据库中管理者的所有内容 new SqlParameter("@tableName", "SysAdmins") }; SqlDataReader reader = SQLHelper.GetDataReader(procName, sp); List <SysAdminsModel> list = new List <SysAdminsModel>(); while (reader.Read()) { SysAdminsModel admins = new SysAdminsModel(); admins.AdminName = reader["AdminName"].ToString(); admins.LoginId = Convert.ToInt32(reader["LoginId"]); admins.LoginPwd = reader["LoginPwd"].ToString(); admins.Roleld = Convert.ToInt32(reader["Roleld"]); admins.AdminStatus = Convert.ToInt32(reader["AdminStatus"]); admins.StatusName = admins.AdminStatus == 1 ? "启用" : "禁用"; admins.RoleName = admins.Roleld == 1 ? "超级管理员" : "一般管理员"; list.Add(admins); } reader.Close(); return(list); }
/// <summary> /// 管理者的修改状态1启0禁 /// 禁用启用 /// 当前状态1启0禁的修改过程 /// 改禁用系统用户管理 /// 改启动系统用户管理 /// </summary> /// <param name="admin"></param> /// <returns></returns> public int SetSysStatus(SysAdminsModel admin) { string procName = "SetSysAdmStatus"; SqlParameter[] sp = { new SqlParameter("@role", admin.AdminStatus), new SqlParameter("@id", admin.LoginId) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
/// <summary> /// 管理者的修改状态1启0禁 /// 禁用启用 /// 当前状态1启0禁的修改过程 /// 改禁用系统用户管理 /// 改启动系统用户管理 /// </summary> /// <param name="admin"></param> /// <returns></returns> public bool SetSysStatus(SysAdminsModel admin) { if (GetServer.SetSysStatus(admin) > 0) { return(true); } else { return(false); } }
/// <summary> /// 修改管理者 /// </summary> /// <param name="admin"></param> /// <returns></returns> public SysAdminsModel UpdateAdmin(SysAdminsModel admin) { if (GetServer.UpdateAdmin(admin) > 0) { return(admin); } else { return(null); } }
/// <summary> /// 更改管理者密码 /// </summary> /// <param name="admin"></param> /// <returns></returns> public int AdminUpdatePwd(SysAdminsModel admin) { //通过UpdateSysPwd存储过程名,把通过Id的管理者修改对应的密码 string procName = "UpdateSysPwd"; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@logId", admin.LoginId), new SqlParameter("@logPwd", admin.LoginPwd) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
/// <summary> /// 更改管理者密码 /// </summary> /// <param name="admin"></param> /// <returns></returns> public bool AdminUpdatePwd(SysAdminsModel admin) { int res = GetServer.AdminUpdatePwd(admin); if (res > 0) { return(true); } else { return(false); } }
/// <summary> /// 登录事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLogin_Click(object sender, EventArgs e) { if (txtLoginId.CheckData(@"^\d+$", "账号输入有误!") * txtLoginPwd.CheckNullOrEmpty() != 0) { //获取窗口管理者的Id和密码 SysAdminsModel sys = new SysAdminsModel() { LoginId = Convert.ToInt32(txtLoginId.Text.Trim()), LoginPwd = txtLoginPwd.Text.Trim() }; try { //把窗口的数据Id和pwd放在数据库查找整个管理者数据 sys = adminManager.AdminLogin(sys); //写入老师创建的日志 Log4net类2Teacher.Info($"账号[{sys.LoginId}]开始登录"); if (sys != null) { //sys.AdminStatus当前状态1启0禁 if (sys.AdminStatus == 1) { Log4net类2Teacher.Info($"[{sys.LoginId}]登录成功!"); //Program主窗口中的属性,接收数据库中的所有数据 Program.CurrentAdmin = sys; //并打开这个窗口 this.DialogResult = DialogResult.OK; this.Close(); } else { //写入老师创建的日志 Log4net类2Teacher.Info($"[{sys.LoginId}]账号被禁用"); MessageBox.Show("当前管理员账号已被禁用!", "登录提示"); } } else { //写入老师创建的日志 Log4net类2Teacher.Info($"[{sys.LoginId}]账号或密码错误登录失败"); } } catch (Exception ex) { /* throw ex;*/ //写入老师创建的日志 Log4net类2Teacher.Error($"[{sys.LoginId}]登录发生异常", ex); return; } } }
public FrmUpdateAdmin管理者修改(SysAdminsModel admins) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; lblLogId.Text = admins.LoginId.ToString(); this.Text = $"修改【{admins.AdminName}】信息"; txtAdmName.Text = admins.AdminName; txtAdmPwd.Text = admins.LoginPwd; cmbAdminRole.SelectedIndex = admins.Roleld - 1; CurrentAdmin = admins; txtAdmName.GotFocus += TxtAdmName_GotFocus; txtAdmPwd.GotFocus += TxtAdmName_GotFocus; txtAdmName.Focus(); }
/// <summary> /// 修改管理者 /// </summary> /// <param name="admin"></param> /// <returns></returns> public int UpdateAdmin(SysAdminsModel admin) { //修改管理者存储过程 string procName = "UpdateAdmin"; SqlParameter[] sp = { new SqlParameter("@adminName", admin.AdminName), new SqlParameter("@loginPwd", admin.LoginPwd), new SqlParameter("@roleId", admin.Roleld), new SqlParameter("@loginId", admin.LoginId) }; return(SQLHelper.ExecuteNonQuery(procName, sp)); }
/// <summary> /// 添加管理者 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSure_Click(object sender, EventArgs e) { if (txtAdmName.CheckNullOrEmpty() * txtAdmPwd.CheckData(@"^\w{6,}$", "密码必须为6位字母、数字、下划线组合") == 0) { return; } else { //通过管理者类获取窗口文本框 SysAdminsModel admin = new SysAdminsModel() { //管理者名字 AdminName = txtAdmName.Text.Trim(), //管理员状态;当前状态1启0禁 AdminStatus = 1, //管理者名字 LoginPwd = txtAdmPwd.Text.Trim(), //角色类型1超级2一般 Roleld = cmbAdminRole.SelectedIndex + 1 }; //窗口中的值写入到数据库里面(添加管理者),从新赋值在admin(SysAdminsModel)类里面,如果没拿到数据则admin(SysAdminsModel)为空 admin = adminManager.InsertAdmin(admin); //如果SysAdminsModel类里面为空,则没拿数据库中返回的数据 if (admin == null) { MessageBox.Show("用户添加失败!", "提示"); return; } else { //管理者添加成功 if (MessageBox.Show($"添加成功!登录账号为【{admin.LoginId}】\r\n是否继续添加", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { //清空所有数据 txtAdmName.Text = ""; txtAdmPwd.Text = "123456"; cmbAdminRole.SelectedIndex = 0; return; } else { this.DialogResult = DialogResult.OK; this.Close(); } } } }
public SysAdminsModel QueryLoginAccount(SysAdminsModel usermodel) { SysAdminsModel model = null; string sqlstr = "select LoginId,LoginPwd,UserName,IsDisable,IsSuperUser,LastLoginTime from SysAdmins"; sqlstr += " where LoginId=@logId and LoginPwd=@logPwd"; SqlParameter[] para = new SqlParameter[] { new SqlParameter("@logId", usermodel.LoginId), new SqlParameter("@logPwd", usermodel.LoginPwd) }; DataSet ds = db.GetDataSetSql(sqlstr, para); if (ds.Tables[0].Rows.Count > 0) { //将ds对象转换成list集合并且获取第一个对象 model = ListDataSet.DataSetToIList <SysAdminsModel>(ds, 0).ToList().First(); } return(model); }
/// <summary> /// 添加管理者在数据库中显示 /// </summary> /// <param name="admi"></param> public SysAdminsModel InsertAdmin(SysAdminsModel admi) { //添加管理者存储过程 string procName = "InsertAdmin"; SqlParameter[] sp = { new SqlParameter("@adminName", admi.AdminName), new SqlParameter("@loginPwd", admi.LoginPwd), new SqlParameter("@roleId", admi.Roleld) }; object res = SQLHelper.ExecuteScalar(procName, sp); if (res != null) { admi.LoginId = Convert.ToInt32(res); } else { admi = null; } return(admi); }
//确认管理者修改 private void btnSure_Click(object sender, EventArgs e) { if (txtAdmName.CheckNullOrEmpty() * txtAdmPwd.CheckData(@"^\w{6,}$", "密码必须为6位字母、数字、下划线组合") == 0) { return; } else { CurrentAdmin.AdminName = txtAdmName.Text.Trim(); CurrentAdmin.LoginPwd = txtAdmPwd.Text.Trim(); CurrentAdmin.Roleld = cmbAdminRole.SelectedIndex + 1; CurrentAdmin = adminManager.UpdateAdmin(CurrentAdmin); if (CurrentAdmin == null) { MessageBox.Show("修改失败!", "提示"); } else { MessageBox.Show("修改成功!", "提示"); this.DialogResult = DialogResult.OK; this.Close(); } } }
private void btnLogin_Click(object sender, EventArgs e) { //1、数据有效性验证 #region 验证账号 if (txtLoginId.Text.Length == 0) { lblInfo.Visible = true; lblInfo.Text = "账号不能为空!"; this.txtLoginId.Focus(); //开始闪烁 fang(); return; } if (!ValidateInput.IsInteger(txtLoginId.Text.Trim())) { lblInfo.Visible = true; lblInfo.Text = "账号必须是正整数!"; this.txtLoginId.Focus(); //开始闪烁 if (th == null || !th.IsAlive) { th = new Thread(run); th.IsBackground = true; th.Start(); } return; } #endregion #region 验证密码 if (txtLoginPwd.Text.Length == 0) { lblInfo.Visible = true; lblInfo.Text = "密码不能为空!"; this.txtLoginPwd.Focus(); //开始闪烁 fang(); return; } #endregion #region 验证验证码 if (txtCode.Text.Length == 0) { lblInfo.Visible = true; lblInfo.Text = "验证码不能为空"; this.txtCode.Focus(); //开始闪烁 fang(); return; } //验证验证码 if (lblCode.Text != txtCode.Text.Trim()) { lblInfo.Visible = true; lblInfo.Text = "验证码不正确"; this.txtCode.Focus(); CreateValidation(); txtCode.Text = ""; //开始闪烁 fang(); return; } #endregion //2、提交数据库验证 //构建登陆对象 SysAdminsModel loginModel = new SysAdminsModel(); loginModel.LoginId = Convert.ToInt32(txtLoginId.Text.Trim()); loginModel.LoginPwd = EncryptHelper.EncryptByMd5(txtLoginPwd.Text.Trim()); SysAdminsManager bll = new SysAdminsManager(); SysAdminsModel loginInfo = bll.QueryLoginAccount(loginModel); //3.根据结果来判断(账号禁用,账号密码错误,账号密码不存在) if (loginInfo == null) { lblInfo.Visible = true; lblInfo.Text = "账号密码错误!"; this.txtLoginId.Focus(); //开始闪烁 fang(); return; } else if (loginInfo.IsDisable == true) { lblInfo.Visible = true; lblInfo.Text = "账号被禁用,请与管理员联系!"; this.txtLoginId.Focus(); //开始闪烁 fang(); return; } else//账号是正常的 { //1.处理后面的逻辑(1=更新登录时间) int rst = bll.UpdateLoginTime(loginInfo.LoginId); if (rst != 1) { MessageBox.Show("更新登录时间失败"); } //2.写入登录日志 LoginLogsManager logbll = new LoginLogsManager(); LoginLogsModel logmodel = new LoginLogsModel() { LoginId = loginInfo.LoginId, UserName = loginInfo.UserName, LoginComputer = Dns.GetHostName(), LoginTime = logbll.GetServerTime() }; int result = logbll.WriteLoginLogs(logmodel); if (result != 1) { MessageBox.Show("写入登录日志失败"); return; } //3.写入全局变量 Program.currentLogin = loginInfo; //4.设置窗体的状态值为ok this.DialogResult = DialogResult.OK; this.Close(); } }
/// <summary> /// 将账号和密码返回登录实体 /// </summary> /// <param name="usermodel"></param> /// <returns></returns> public SysAdminsModel QueryLoginAccount(SysAdminsModel usermodel) { return(dal.QueryLoginAccount(usermodel)); }
//在当前绑定项更改时发生 private void Source_CurrentChanged(object sender, EventArgs e) { //source封装器 //获取列表中的当前项 currentAdm = source.Current as SysAdminsModel; }
/// <summary> /// 添加管理者内容 /// </summary> /// <param name="admi"></param> /// <returns></returns> public SysAdminsModel InsertAdmin(SysAdminsModel admi) { return(GetServer.InsertAdmin(admi)); }