public async Task <IActionResult> ForgotPasswordConfirmation([FromBody] ForgotPasswordConfirmModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var user = await userManager.FindByEmailAsync(model.Email); if (user == null) { return(Ok(new { code = StatusMessage.EmailNotExist, result = false })); } if (model.Code == user.RestorePassCode) { await userManager.RemovePasswordAsync(user); var result = await userManager.AddPasswordAsync(user, model.Password); user.RestorePassCode = null; await userManager.UpdateAsync(user); if (result.Succeeded) { return(Ok(new { result = true })); } return(Ok(new { code = StatusMessage.ErrorChangePass, result = false })); } return(Ok(new { result = false, code = StatusMessage.WrongCode })); }
public NewPasswordViewModel(INavigation navigation, ForgotPasswordModel forgotPasswordModel) { this.Navigation = navigation; alertErrorMessage = "Error!"; alertSuccessMessage = "Success!"; requestProvider = new RequestProvider(); this.forgotPasswordConfirmModel = new ForgotPasswordConfirmModel(); forgotPasswordConfirmModel.Email = forgotPasswordModel.Email; code = new ValidatableObject <string>(); newPassword = new ValidatableObject <string>(); newRepeatPassword = new ValidatableObject <string>(); AddValidations(); }