protected override async Task <UpdateUserResponse> AssertForUpdateAction(UpdateUserRequest request) { if (request.UserName != null) { var userWithDuplicatedUserName = await _userRepository.Get(new Name(request.UserName)); if (userWithDuplicatedUserName != null && userWithDuplicatedUserName.Id != request.Id) { return(UpdateUserResponse.DuplicatedUserName(new[] { "The specified user name is already in use." })); } } return(null); }
protected override async Task <UpdateUserResponse> AssertForUpdateAction(UpdateUserRequest request) { var userToUpdate = await _userRepository.Get(request.Id); if (request.UserName != null) { userToUpdate.SetName(new Name(request.UserName)); } if (request.Password != null) { userToUpdate.SetPassword(new Password(request.Password)); } if (request.Roles != null) { userToUpdate.SetRoles(request.Roles.Select(role => new Role(new Name(role)))); } await _userRepository.Update(userToUpdate); return(UpdateUserResponse.Success(userToUpdate, "User successfully updated.")); }
protected override async Task <UpdateUserResponse> AssertForUpdateAction(UpdateUserRequest request) { var userToUpdate = await _userRepository.Get(request.Id); return(userToUpdate == null?UpdateUserResponse.UserNotFound(new[] { "User does not exist." }) : null); }