public async Task <IActionResult> PasswordUpdate() { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); var hashPassword = await _userManagerService.HasPasswordAsync(user); // create vm TravelProviderPasswordUpdateViewModel vm = new TravelProviderPasswordUpdateViewModel { }; return(View(vm)); }
public async Task <IActionResult> PasswordUpdate(TravelProviderPasswordUpdateViewModel vm) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); TravelProvider profile = _providerDataService.GetSingle(p => p.UserId == user.Id); var result = await _userManagerService.ChangePasswordAsync(user, vm.OldPassword, vm.NewPassword); if (vm.OldPassword != vm.NewPassword) { vm.NewPassword = vm.ConfirmPassword; } if (!result.Succeeded) { ViewBag.notification = "Sorry! Please try again"; } await _signInManagerService.SignInAsync(user, false); return(RedirectToAction("Login", "Account")); } return(View(vm)); }