コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }