public async Task <AccountResponse> ChangeUsernameAsync(User user, UsernameChangeViewModel usernameChangeViewModel) { if (user != null) { if (usernameChangeViewModel.Username != null && usernameChangeViewModel.ConfirmUsername != null) { if (usernameChangeViewModel.Username.Equals(usernameChangeViewModel.ConfirmUsername)) { IdentityResult result = await userManager.SetUserNameAsync(user, usernameChangeViewModel.Username); if (result.Succeeded) { return(new AccountResponse { ResponseStatus = Status.Success, Message = "The username was changed" }); } else { return(new AccountResponse { ResponseStatus = Status.Error, Message = "Username could not be changed" }); } } return(new AccountResponse { ResponseStatus = Status.Error, Message = "Usernames do not match" }); } return(new AccountResponse { ResponseStatus = Status.Error, Message = "Request is missing some data" }); } return(new AccountResponse { ResponseStatus = Status.Error, Message = "User not found" }); }
public async Task <IActionResult> ChangeUsername([FromBody] UsernameChangeViewModel usernameChangeViewModel) { if (usernameChangeViewModel != null) { var user = await userManager.GetUserAsync(HttpContext.User); AccountResponse response = await accountServices.ChangeUsernameAsync(user, usernameChangeViewModel); if (response.ResponseStatus == Status.Success) { return(Ok(response.Message)); } else { return(StatusCode(StatusCodes.Status400BadRequest, response.Message)); } } return(StatusCode(StatusCodes.Status400BadRequest)); }