public async Task <IActionResult> Update(string username, [FromBody] UserModelRegister userModel) { if (username != userModel.UserName) { return(BadRequest()); } var user = await userManager.FindByNameAsync(username); if (user == null) { // Don't reveal that the user does not exist return(BadRequest()); } // Update it with the values from the view model user.UserName = userModel.UserName; user.Email = userModel.Email; user.PhoneNumber = userModel.PhoneNumber; if (!string.IsNullOrEmpty(userModel.Password)) { // Generate the reset token (this would generally be sent out as a query parameter as part of a 'reset' link in an email) string resetToken = await userManager.GeneratePasswordResetTokenAsync(user); // Use the reset token to verify the provenance of the reset request and reset the password. var updateResult = await userManager.ResetPasswordAsync(user, resetToken, userModel.Password); if (!updateResult.Succeeded) { return(BadRequest(updateResult.Errors)); } } try { await userManager.UpdateAsync(user); var returnUser = mapper.Map <UserModel>(user); return(Ok(returnUser)); } catch (Exception ex) { // return error message if there was an exception return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Register(UserModelRegister userRegister) { // map dto to entity var ApplicationUser = mapper.Map <ApplicationUser>(userRegister); var result = await userManager.CreateAsync(ApplicationUser, userRegister.Password); if (result == IdentityResult.Success) { return(await Login(new UserModelLogin() { UserName = userRegister.UserName, Password = userRegister.Password })); } else { return(BadRequest(result)); } }
public HttpResponseMessage RegisterUser(UserModelRegister user) { Chat.Models.User userFull = new Chat.Models.User() { Username = user.Username, Password = user.Password, Nickname = user.Nickname }; var userReg = this.repository.Add(userFull); var userLog = this.repository.LoginUser(userReg); var loggedUser = new UserModelLogged() { Nickname = userLog.Nickname, SessionKey = userLog.SessionKey }; return(Request.CreateResponse(HttpStatusCode.OK, loggedUser)); }