示例#1
0
        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);
        }
示例#2
0
 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();
 }
示例#3
0
 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);
            }
        }