public async Task <RoleGetResponse> Get(RoleGetRequest request) { RoleGetResponse response = new RoleGetResponse(); try { if (!string.IsNullOrEmpty(request.Id)) { RRole role = await _roleService.RoleGetByIdFromDb(request.Id); if (role == null) { response.SetFail(BaseResponse.ErrorCodeEnum.RoleNotFound); return(response); } response.Role = role.ToModel(null); } else { response.Role = new RoleViewModel() { Status = false, Id = string.Empty, Name = string.Empty, DepartmentId = string.Empty }; } } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
public Role(RRole role, RRoleActionMapping[] roleActionMappings) { Id = role.Id; Name = role.Name; DepartmentId = role.DepartmentId; Status = role.Status; RoleActionMappings = roleActionMappings.Select(p => new RoleActionMapping(p)).ToList(); }
public static RoleViewModel ToModel(this RRole role, RDepartment department) { if (role == null) { return(null); } return(new RoleViewModel() { Name = role.Name, Id = role.Id, Status = role.Status == EnumDefine.RoleStatusEnum.Active, StatusName = role.Status.ToString(), DepartmentId = role.DepartmentId, DepartmentName = department?.Name }); }
public async Task <ICommandResult> Handle(RoleActionMappingChangeByRoleCommand mesage) { ICommandResult result; try { RRole rRole = await _roleService.RoleGetByIdFromDb(mesage.RoleId); if (rRole == null) { result = new CommandResult { Message = "Role not found.", ObjectId = string.Empty, Status = CommandResult.StatusEnum.Fail }; return(result); } RRoleActionMapping[] roleActionMappings = await _roleService.RoleActionMappingGetByRoleIdFromDb(mesage.RoleId); Role role = new Role(rRole, roleActionMappings); role.ChangePermissionByRole(mesage, out var roleActionMappingsAdd, out var actionIdsRemove); await _roleService.ChangeToDb(roleActionMappingsAdd.ToArray(), mesage.RoleId, actionIdsRemove.ToArray()); await _eventSender.Notify(role.Events); result = new CommandResult { Message = "", ObjectId = role.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }