/// <summary> /// 角色编辑 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> RoleInfoEdit(EditRoleParameter Parameter) { if (ValidateData <EditRoleParameter>(Parameter)) { return(roleManager.EditRoleInfo(Parameter)); } else { BaseResponse <bool> result = new BaseResponse <bool>(); result.IsSuccessful = false; result.Code = "001271"; LogHelper.WriteLog(string.Format("未通过安全验证:({0}:{1}", result.Code, result.Reason)); return(result); } }
/// <summary> /// 创建人:张辽阔 /// 创建时间:2016-07-27 /// 创建记录:验证“修改角色信息”的参数是否有效 /// </summary> /// <param name="roleJSONStr">角色JSON字符串</param> /// <returns></returns> internal BaseResponse <bool> ValidateEditRoleParams(EditRoleParameter role) { BaseResponse <bool> result = new BaseResponse <bool>(); if (role == null) { result.IsSuccessful = false; result.Code = "004412"; return(result); } if (role.RoleID <= 0) { result.IsSuccessful = false; result.Code = "004422"; return(result); } if (string.IsNullOrEmpty(role.RoleName)) { result.IsSuccessful = false; result.Code = "004432"; return(result); } if (roleRepository .GetDatas <iCMS.Frameworks.Core.DB.Models.Role>(p => p.RoleID != role.RoleID && p.RoleName.Equals(role.RoleName), true) .Any()) { result.IsSuccessful = false; result.Code = "004442"; return(result); } iCMS.Frameworks.Core.DB.Models.Role tempRoleObj = roleRepository .GetDatas <iCMS.Frameworks.Core.DB.Models.Role>(p => p.RoleID == role.RoleID, true) .FirstOrDefault(); if (tempRoleObj == null) { result.IsSuccessful = false; result.Code = "004422"; return(result); } result.IsSuccessful = true; return(result); }
/// <summary> /// 角色编辑 /// 修改人:张辽阔 /// 修改时间:2016-11-08 /// 修改记录:修改IsDeault和IsShow的值 /// /// 修改人:王龙杰 /// 修改时间:2017-10-13 /// 修改记录:编辑角色同时添加角色附权 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> EditRoleInfo(EditRoleParameter Parameter) { BaseResponse <bool> result = new BaseResponse <bool>(); try { #region 验证角色是否已经被使用,如果已经被使用,则不能进行角色隐藏 王颖辉 2018-01-18 var role = roleRepository.GetByKey(Parameter.RoleID); if (role == null) { result.IsSuccessful = false; result.Code = "010092"; return(result); } //如果本次修改为隐藏,而且角色被使用,则不能进行隐藏 if (role.IsShow != Parameter.IsShow && role.IsShow == 1) { var isExist = userRepository.GetDatas <User>(item => item.RoleID == role.RoleID, true).Any(); if (isExist) { result.IsSuccessful = false; result.Code = "010102"; return(result); } } #endregion using (iCMSDbContext dataContext = new iCMSDbContext()) { Validate validate = new Validate(userRepository, roleRepository); result = validate.ValidateEditRoleParams(Parameter); if (!result.IsSuccessful) { return(result); } Role tempRoleObj = dataContext.Role .GetDatas <Role>(dataContext, p => p.RoleID == Parameter.RoleID) .FirstOrDefault(); tempRoleObj.RoleName = Parameter.RoleName; //张辽阔 2016-11-08 添加 tempRoleObj.IsDeault = Parameter.IsDeault; tempRoleObj.IsShow = Parameter.IsShow; OperationResult operationResult = dataContext.Role.Update <Role>(dataContext, tempRoleObj); if (operationResult.ResultType == EnumOperationResultType.Success) { //修改角色附权 王龙杰 2017-10-13 dataContext.Configuration.AutoDetectChangesEnabled = false; var roleModuleList = (from p in dataContext.RoleModule where p.RoleCode == tempRoleObj.RoleCode select p); foreach (var item in roleModuleList) { dataContext.Entry(item).State = EntityState.Deleted; } var addRoleModuleList = (from p in Parameter.Module select new RoleModule { RoleCode = tempRoleObj.RoleCode, ModuleCode = p, }); foreach (var item in addRoleModuleList) { dataContext.Entry(item).State = EntityState.Added; } dataContext.SaveChanges(); result.IsSuccessful = true; return(result); } else { result.IsSuccessful = false; result.Code = "003971"; return(result); } } } catch (Exception e) { LogHelper.WriteLog(e); result.IsSuccessful = false; result.Code = "003971"; return(result); } }