public async Task <IActionResult> EditPass(EditPassViewModel details) { if (ModelState.IsValid) { if (details.NewPass != details.NewPass2) { ModelState.AddModelError(nameof(ResetPasswordViewModel.NewPass), "Hasła nie są identyczne"); return(View(details)); } var usr = await userManager.GetUserAsync(HttpContext.User); var result = await userManager.ChangePasswordAsync(usr, details.OldPass, details.NewPass); if (result.Succeeded) { return(Redirect("Success")); } else { foreach (IdentityError error in result.Errors) { ModelState.AddModelError("", error.Description); } } } return(View(details)); }
public async Task <IActionResult> EditPass(EditPassViewModel model) { ViewBag.Active = Tabs.UserSettings; if (!ModelState.IsValid) { return(View(model)); } var user = await UserManager.GetUserAsync(User); if (user == null) { return(RedirectToAction("Login")); } //var token = await UserManager.GeneratePasswordResetTokenAsync(user); var result = await UserManager.ChangePasswordAsync(user, model.OldPass, model.Password); //ResetPasswordAsync(user, token, model.Password); if (result.Succeeded) { ViewBag.Status = "Hasło zostało pomyślnie zmienione"; return(View()); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(View(model)); }
public async Task <ActionResult> Update([Microsoft.AspNetCore.Mvc.FromBody] EditPassViewModel model, string id) { if (ModelState.IsValid) { User user = await _userManager.FindByIdAsync(id); if (user != null) { user.Pass = model.NewPassword; var result = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword); if (result.Succeeded) { return(Ok()); } return(BadRequest(result.Errors)); } else { return(BadRequest(Json(id))); } } return(BadRequest("model isn't valid")); }