public virtual async Task UpdateOneAsync(Guid userId, Guid modifierUserId, EditUsersManagementViewModel model) { ApplicationUser user = FindOne(userId); var isUsernameChanged = user.Email != model.Email; if (isUsernameChanged) { var userByNewEmail = _userManager.Users.SingleOrDefault(x => x.Email == model.Email && !x.IsDeleted); Require.Objects.ShouldBeNull <BadRequestException>(userByNewEmail, $"User with email {model.Email} already exists."); user.Email = model.Email; user.UserName = model.Email; } user.FirstName = model.FirstName; user.LastName = model.LastName; user.PhoneNumber = model.PhoneNumber; user.ModifiedAt = DateHelper.GetUtc(); user.ModifiedBy = modifierUserId.ToString(); var updateResult = await _userManager.UpdateAsync(user); Require.Booleans.IsTrue <BadRequestException>(updateResult.Succeeded, updateResult.GetErrors); await ReAssignRolesAsync(user, model.Roles); }
public async Task <ActionResult <GetUsersManagementViewModel> > EditAsync([FromRoute] Guid id, [FromBody] EditUsersManagementViewModel model) { var userModifier = User.Identity.GetUser(); await _usersManagementService.UpdateOneAsync(id, userModifier.Id, model); return(Ok()); }