示例#1
0
        public ActionResult ChangePassword()
        {
            ViewBag.Msg = "";
            ChangePwdVM vm = new ChangePwdVM()
            {
                UserId = Session[SessionKeys.UserId]?.ToString()
            };

            return(PartialView("_ChangePassword", vm));
        }
示例#2
0
        public ActionResult ChangePassword(ChangePwdVM changePwd)
        {
            string actionName = "ChangePassword";

            var    type = "error";
            string msg  = string.Empty;

            _logger.Log(LogLevel.Trace, actionName + " :: started.");

            try
            {
                if (ModelState.IsValid)
                {
                    #region User Injection

                    var UserName = changePwd.UserId;
                    var Password = changePwd.NewPassword;

                    if (changePwd.NewPassword == changePwd.ConfirmPassword)
                    {
                        using (var context = new Entities())
                        {
                            var user = context.tbl_User.FirstOrDefault(x => x.UserId == changePwd.UserId && x.IsDeleted != 1);
                            if (user != null)
                            {
                                if (user.Password == changePwd.OldPassword)
                                {
                                    var AdminUserCreateResult = UserManager.ChangePassword(changePwd.UserId, changePwd.OldPassword, changePwd.NewPassword);
                                    if (AdminUserCreateResult.Succeeded)
                                    {
                                        user.Password = changePwd.NewPassword;
                                        user.PasswordChangeDateTime = DateTime.Now;

                                        context.Entry(user).State = EntityState.Modified;
                                        context.SaveChanges();

                                        type = "success";
                                        msg  = "Password changed successfully.";
                                    }
                                    else
                                    {
                                        msg = "Something went wrong.";
                                    }
                                }
                                else
                                {
                                    msg = "Incorrect password.";
                                }
                            }
                            else
                            {
                                msg = "User not found.";
                            }
                        }
                    }
                    else
                    {
                        msg = "New and old password mismatch.";
                    }
                    #endregion
                }
                else
                {
                    msg = "Please input valid data.";
                }
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString());
                msg = "Some error occurred";
            }

            _logger.Log(LogLevel.Trace, actionName + " :: ended.");

            ViewBag.Msg = msg;

            if (type == "success")
            {
                return(RedirectToAction("Dashboard", "Admin"));
            }
            else
            {
                return(PartialView("_ChangePassword", changePwd));
            }
        }