Example #1
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Msg = _hlp.getMsg(AlertType.danger.ToString(), "All fields are required");
                var user = cmd.Users.Where(c => c.Id == model.UserId).FirstOrDefault();
                ViewBag.DisplayName = user.DisplayName;
                ViewBag.UserName    = user.Email;
                return(View(model));
            }

            try
            {
                var user = cmd.Users.Where(c => c.Id == model.UserId).FirstOrDefault();
                ViewBag.DisplayName = user.DisplayName;
                ViewBag.UserName    = user.Email;
                if (user != null)
                {
                    //if (user.UserName.ToLower() == "*****@*****.**")
                    //{
                    //    ViewBag.Msg = _hlp.getMsg(AlertType.danger.ToString(), "The password to this account cannot be change!");
                    //    return View(model);
                    //}
                    var result = await UserManager.ChangePasswordAsync(model.UserId, model.OldPassword, model.NewPassword);

                    if (result.Succeeded)
                    {
                        _userRep.Update(user.Id, User.Identity.Name);
                        //if (!User.IsInRole("User"))
                        //{
                        //    UserManager.AddToRole(user.Id, "User");
                        //}
                        //AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                        //TempData["ChangedPassword"] = _hlp.getMsg(AlertType.success.ToString(), $"Password changed successfully. Please login");
                        return(RedirectToAction("Index", "Dashboard"));
                    }
                    else
                    {
                        AddErrors(result);
                        return(View(model));
                    }
                }
                else
                {
                    ViewBag.Msg = _hlp.getMsg(AlertType.danger.ToString(), "The user does not exist!");
                }
            }
            catch (Exception ex)
            {
                ViewBag.Msg = ErrorMessages.getMsg(ErrorCode.exception_error).msgText;
            }
            return(View(model));
        }