/// <summary> /// 验证登陆 /// </summary> /// <param name="condtion"></param> /// <returns></returns> public static SysManagerUser checkLogin(ViewModelLoginReqeust condtion) { SysValidata.valiData(condtion); using (var db = new SysModelContainer()) { //如果还没有用户则需要初始化一个第一个管理员 int c = (from x in db.Db_SysUserSet.OfType <Db_ManagerUser>() select x.loginName).Count(); if (c == 0) { create(new ViewModelUserRegisterRequest() { fullName = "管理员", loginname = "admin", role = "admin" }); } var d = db.Db_SysUserSet.OfType <Db_ManagerUser>().SingleOrDefault(p => p.loginName.Equals(condtion.loginName) && p.passWord.ToLower().Equals(condtion.pwd.ToLower()) && !p.isDeleted && !p.isDisabled); if (d == null) { throw new SysException("用户名或密码不正确", condtion); } d.lastLoginTime = DateTime.Now; db.SaveChanges(); SysManagerUser user = new SysManagerUser(condtion.loginName); SysUserLog.saveLoginLog(user.loginName); return(user); } }
/// <summary> /// 创建新的用户 /// </summary> /// <param name="condtion"></param> /// <returns></returns> public static SysManagerUser create(ViewModelUserRegisterRequest condtion) { SysValidata.valiData(condtion); int c = getLoginNameCount(condtion.loginname); if (c > 0) { throw new SysException("登录名已存在", condtion); } using (var db = new SysModelContainer()) { Db_ManagerUser dbuser = new Db_ManagerUser() { createdOn = DateTime.Now, fullName = condtion.fullName, isDeleted = false, isDisabled = false, jobTitle = condtion.jobTitle, loginName = condtion.loginname, mobilePhone = condtion.mobilePhone, passWord = defaultPwd, role = condtion.role }; db.Db_SysUserSet.Add(dbuser); db.SaveChanges(); } SysManagerUser newuser = new SysManagerUser(condtion.loginname); SysUserLog.saveLog(condtion, SysUserLogType.编辑, newuser.loginName); return(newuser); }
/// <summary> /// 删除用户 /// </summary> /// <returns>返回被删除的用户对象</returns> public void delete() { using (var db = new SysModelContainer()) { var d = db.Db_SysUserSet.Single(p => p.loginName == loginName); d.isDeleted = true; db.SaveChanges(); SysUserLog.saveLog("删除用户:" + this.ToString(), SysUserLogType.除, this.loginName); } }
/// <summary> /// 禁用或者恢复禁用 /// </summary> /// <param name="condtion"></param> public void setDisable(ViewModelSetUserDisable condtion) { using (var db = new SysModelContainer()) { var user = db.Db_SysUserSet.Single(p => p.loginName.Equals(this.loginName)); user.isDisabled = condtion.isDisabled; db.SaveChanges(); StringBuilder sb = new StringBuilder(); sb.Append(condtion.isDisabled ? "设置禁用:" : "恢复禁用:"); sb.AppendFormat("{0}[备注:{1}]", this.ToString(), condtion.describe); SysUserLog.saveLog(sb.ToString(), SysUserLogType.编辑, this.loginName); } }
/// <summary> /// 修改后台用户的信息 /// </summary> /// <param name="condtion"></param> public SysManagerUser saveInfo(ViewModelUserEditReqeust condtion) { SysValidata.valiData(condtion); using (var db = new SysModelContainer()) { var d = db.Db_SysUserSet.OfType <Db_ManagerUser>().Single(p => p.loginName.Equals(this.loginName)); d.fullName = condtion.fullName; d.jobTitle = condtion.jobTitle; d.mobilePhone = condtion.mobilePhone; d.role = condtion.role; db.SaveChanges(); } SysUserLog.saveLog(condtion, SysUserLogType.编辑, this.loginName); getInfo(this.loginName); return(this); }
/// <summary> /// 设置一个新密码 /// </summary> public void reSetNewPwd(ViewModelChangePwdRequest condtion) { SysValidata.valiData(condtion); using (var db = new SysModelContainer()) { var d = db.Db_SysUserSet.Single(p => p.loginName.Equals(this.loginName)); if (d.passWord.ToLower().Equals(condtion.oldPwd.ToLower())) { changePwd(condtion.newPwd); SysUserLog.saveLog("用户设置了新的密码", SysUserLogType.编辑); } else { throw new SysException("旧密码不正确", condtion); } } }
/// <summary> /// 重置为系统设定的初始密码 /// </summary> public void reSetPwd() { changePwd(defaultPwd); SysUserLog.saveLog("重置用户的密码", SysUserLogType.编辑, this.loginName); }