/// <summary> /// 解锁指定用户 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userName">登录名(用户名)</param> /// <returns>大于0解锁成功</returns> public int UnLockUser(UserInfo userInfo, string userName) { var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.LogOnService_UnLockUser); int result = 0; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new PiUserManager(userInfo); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldUserName, userName), new KeyValuePair <string, object>(PiUserTable.FieldEnabled, 1), new KeyValuePair <string, object>(PiUserTable.FieldDeleteMark, 0) }; var entity = BaseEntity.Create <PiUserEntity>(manager.GetDT(parameters, 0, null)); if ((entity != null) && !string.IsNullOrEmpty(entity.Id)) { var longOnmanager = new PiUserLogOnManager(); PiUserLogOnEntity lonOnentity = longOnmanager.GetEntity(entity.Id); lonOnentity.LockStartDate = null; lonOnentity.LockEndDate = null; result = longOnmanager.Update(lonOnentity); } }); return(result); }
/// <summary> /// 用户离职 /// </summary> /// <param name="userInfo">用户</param> /// <param name="userName">离职人员用户名</param> /// <param name="dimissionCause">离职原因</param> /// <param name="dimissionDate">离职日期</param> /// <param name="dimissionWhither">离职去向</param> /// <returns>大于0操作成功</returns> public int UserDimission(UserInfo userInfo, string userName, string dimissionCause, DateTime?dimissionDate, string dimissionWhither = null) { var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.LogOnService_UserDimission); int result = 0; ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new PiUserManager(userInfo); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(PiUserTable.FieldUserName, userName), new KeyValuePair <string, object>(PiUserTable.FieldEnabled, 1), new KeyValuePair <string, object>(PiUserTable.FieldDeleteMark, 0) }; var entity = BaseEntity.Create <PiUserEntity>(manager.GetDT(parameters, 0, null)); if ((entity != null) && !string.IsNullOrEmpty(entity.Id)) { entity.Enabled = 0; entity.IsDimission = 1; entity.DimissionCause = dimissionCause; entity.DimissionWhither = dimissionWhither; entity.DimissionDate = dimissionDate ?? DateTime.Now; result = manager.Update(entity); //离职的员工就不能登录系统了,应该锁定了 var longOnmanager = new PiUserLogOnManager(); PiUserLogOnEntity lonOnentity = longOnmanager.GetEntity(entity.Id); lonOnentity.LockStartDate = DateTime.Now; result += longOnmanager.Update(lonOnentity); } }); return(result); }
/// <summary> /// 更新实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <returns>影响行数</returns> public int Update(UserInfo userInfo, PiUserLogOnEntity entity) { int returnValue = 0; var parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new PiUserLogOnManager(dbProvider, userInfo); returnValue = manager.Update(entity); }); return(returnValue); }