示例#1
0
        public Task <CommandResult <UserForUserDto> > Handle(GetCurrentUserQuery query)
        {
            var user = access.CurrentUser();

            if (user == null)
            {
                return(CommandResult <UserForUserDto> .Fail(UserManagementError.UserNotLoggedIn()).AsTaskTyped());
            }

            var userDto = UserMap.ToUserForUserDto(user, tenantRepo.GetAll().ToDictionary(t => t.TenantId.ToString(), t => t.TenantName));

            if (userDto == null)
            {
                return(CommandResult <UserForUserDto> .Fail(UserManagementError.UserNotFound()).AsTaskTyped());
            }

            return(CommandResult <UserForUserDto> .Success(userDto).AsTaskTyped());
        }
示例#2
0
        public Task <CommandResult <UserForTenantDto> > Handle(GetUserQuery query)
        {
            if (string.IsNullOrEmpty(query.UserId))
            {
                return(CommandResult <UserForTenantDto> .Fail(ValidationError.New().AddError(nameof(query.UserId), "User Id is required")).AsTaskTyped());
            }

            if (!Guid.TryParse(query.UserId, out Guid userId))
            {
                return(CommandResult <UserForTenantDto> .Fail(ValidationError.New().AddError(nameof(query.UserId), "User Id is not in a correct format")).AsTaskTyped());
            }

            var user = userRepo.Get(userId);

            var userDto = UserMap.ToUserForTenantDto(user, query.TenantId);

            if (userDto == null)
            {
                return(CommandResult <UserForTenantDto> .Fail(UserManagementError.UserNotFound()).AsTaskTyped());
            }

            return(CommandResult <UserForTenantDto> .Success(userDto).AsTaskTyped());
        }
示例#3
0
        public Task <CommandResult <IEnumerable <UserForTenantDto> > > Handle(GetAllUsersQuery query)
        {
            var users = userRepo.GetAll(query.TenantId).Select(u => UserMap.ToUserForTenantDto(u, query.TenantId));

            return(CommandResult <IEnumerable <UserForTenantDto> > .Success(users).AsTaskTyped());
        }