Example #1
0
        public async Task <IActionResult> ChangePassword([FromForm] ChangePasswordInputModel model)
        {
            var vm = _account.BuildChangePasswordViewModel(model, false);

            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            IdentityExpressUser identityExpressUser = await _userManager.GetUserAsync(User);

            var result = await _userManager.ChangePasswordAsync(identityExpressUser, model.OldPassword, model.Password);

            if (result.Succeeded)
            {
                result = await _userManager.UpdateAsync(identityExpressUser);
            }

            if (!result.Succeeded)
            {
                foreach (var item in result.Errors)
                {
                    ModelState.AddModelError("", item.Description);
                }
            }

            vm = _account.BuildChangePasswordViewModel(model, result.Succeeded);

            return(View(vm));
        }
Example #2
0
        public ChangePasswordViewModel BuildChangePasswordViewModel(ChangePasswordInputModel model, bool success)
        {
            ChangePasswordViewModel newModel = new ChangePasswordViewModel
            {
                IsSuccess       = success,
                OldPassword     = model.OldPassword,
                Password        = model.Password,
                ConfirmPassword = model.ConfirmPassword
            };

            return(newModel);
        }