Esempio n. 1
0
        public async Task <ActionResult> UpdateUserPasswordAsync(UserSecurityViewModel userSecurityViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_ChangeUserPassword", userSecurityViewModel));
            }

            var userId = userSecurityViewModel.userId;

            if (await UserManager.CheckPasswordAsync(UserManager.FindById(userId), userSecurityViewModel.oldPass))
            {
                if (userSecurityViewModel.newPass == userSecurityViewModel.confirmnewPass)
                {
                    UserManager.RemovePassword(userId);
                    UserManager.AddPassword(userId, userSecurityViewModel.newPass);


                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false, errmsg = "invalid password confirmation" },
                                JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { success = false, errmsg = "Current password invalid" },
                            JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 2
0
        public ActionResult ChangeUserPassword(string _userId)
        {
            var userSecurity = new UserSecurityViewModel {
                userId = _userId
            };

            return(PartialView("_ChangeUserPassword", userSecurity));
        }
Esempio n. 3
0
        public IActionResult Security()
        {
            var userId = _userManager.GetUserId(User);
            UserSecurityViewModel model = new UserSecurityViewModel();
            var profile = _repositoryManager.UserProfile.GetUserProfile(userId);

            if (profile.PasswordChangeDate != null)
            {
                model.RelativeDateChange = RelativeDateTime((DateTime)profile.PasswordChangeDate);
            }

            return(View(model));
        }
Esempio n. 4
0
        public async Task <IActionResult> Security(UserSecurityViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(User);

                if (user == null)
                {
                    return(RedirectToAction("Login", "Account"));
                }

                var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.NewPassword);

                if (result.Succeeded)
                {
                    UserProfile userProfile = _repositoryManager.UserProfile.GetUserProfile(user.Id);
                    userProfile.PasswordChangeDate = model.DateChanged;

                    _repositoryManager.UserProfile.UpdateUserProfile(userProfile);
                    await _repositoryManager.saveAsync();

                    await _signInManager.RefreshSignInAsync(user);

                    var text = "Your Password was successfully updated";

                    SendNotificationToUser(text, user.Id);
                    await _repositoryManager.saveAsync();

                    TempData["SuccessMessage"] = "Password Updated Successfully";
                    return(RedirectToAction(nameof(Security)));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }


            return(View(model));
        }