コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        //【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);
        }
コード例 #4
0
        /// <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));
        }
コード例 #5
0
 /// <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);
     }
 }
コード例 #6
0
 /// <summary>
 /// 修改管理者
 /// </summary>
 /// <param name="admin"></param>
 /// <returns></returns>
 public SysAdminsModel UpdateAdmin(SysAdminsModel admin)
 {
     if (GetServer.UpdateAdmin(admin) > 0)
     {
         return(admin);
     }
     else
     {
         return(null);
     }
 }
コード例 #7
0
        /// <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));
        }
コード例 #8
0
        /// <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);
            }
        }
コード例 #9
0
ファイル: FrmLogin.cs プロジェクト: 1998-whh/ADO.NET-shopping
 /// <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;
         }
     }
 }
コード例 #10
0
 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();
 }
コード例 #11
0
        /// <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));
        }
コード例 #12
0
 /// <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();
             }
         }
     }
 }
コード例 #13
0
        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);
        }
コード例 #14
0
        /// <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);
        }
コード例 #15
0
 //确认管理者修改
 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();
         }
     }
 }
コード例 #16
0
 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();
     }
 }
コード例 #17
0
 /// <summary>
 /// 将账号和密码返回登录实体
 /// </summary>
 /// <param name="usermodel"></param>
 /// <returns></returns>
 public SysAdminsModel QueryLoginAccount(SysAdminsModel usermodel)
 {
     return(dal.QueryLoginAccount(usermodel));
 }
コード例 #18
0
 //在当前绑定项更改时发生
 private void Source_CurrentChanged(object sender, EventArgs e)
 {
     //source封装器
     //获取列表中的当前项
     currentAdm = source.Current as SysAdminsModel;
 }
コード例 #19
0
 /// <summary>
 /// 添加管理者内容
 /// </summary>
 /// <param name="admi"></param>
 /// <returns></returns>
 public SysAdminsModel InsertAdmin(SysAdminsModel admi)
 {
     return(GetServer.InsertAdmin(admi));
 }