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()); }
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()); }
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()); }