/// <summary> /// 角色删除 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> RoleInfoDelete(DeleteRoleParameter Parameter) { if (ValidateData <DeleteRoleParameter>(Parameter)) { return(roleManager.DeleteRoleInfo(Parameter)); } else { BaseResponse <bool> result = new BaseResponse <bool>(); result.IsSuccessful = false; result.Code = "001281"; LogHelper.WriteLog(string.Format("未通过安全验证:({0}:{1}", result.Code, result.Reason)); return(result); } }
/// <summary> /// 角色删除 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> DeleteRoleInfo(DeleteRoleParameter Parameter) { BaseResponse <bool> result = new BaseResponse <bool>(); Dictionary <EntityBase, EntityState> dicOperator = new Dictionary <EntityBase, EntityState>(); try { if (Parameter.RoleID.Count == 0) { result.IsSuccessful = false; result.Code = "003982"; return(result); } if (roleRepository .GetDatas <Role>(p => Parameter.RoleID.Contains(p.RoleID) && p.IsDeault == 1, true) .Any()) { result.IsSuccessful = false; result.Code = "003992"; return(result); } if (userRepository .GetDatas <User>(p => p.IsDeleted == false && Parameter.RoleID.Contains(p.RoleID), true) .Any()) { result.IsSuccessful = false; result.Code = "004002"; return(result); } List <Role> roleList = roleRepository .GetDatas <Role>(p => Parameter.RoleID.Contains(p.RoleID), true).ToList(); foreach (var role in roleList) { dicOperator.Add(role, EntityState.Deleted); //修改:王龙杰 2017-09-27 根据RoleCode关联RoleModule var list = roleModuleRepository .GetDatas <RoleModule>(p => p.RoleCode == role.RoleCode, false); foreach (var item in list) { dicOperator.Add(item, EntityState.Deleted); } } OperationResult operationResult = roleRepository.TranMethod(dicOperator); if (operationResult.ResultType == EnumOperationResultType.Success) { result.IsSuccessful = true; return(result); } else { result.IsSuccessful = false; result.Code = "004011"; return(result); } } catch (Exception e) { LogHelper.WriteLog(e); result.IsSuccessful = false; result.Code = "004011"; return(result); } }