public ActionResult ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonValidationError());
            }
            if (!string.IsNullOrEmpty(model.NewPassword))
            {
                if (!Regex.IsMatch(model.NewPassword, SiteUtils.GetPasswordRegex()))
                {
                    ModelState.AddModelError("Password", "Password does not meet policy!");
                    return(JsonValidationError());
                }
            }
            if (model.OldPassword == model.NewPassword)
            {
                ModelState.AddModelError("Error", "Old Password and New Password cannot be same");
                return(JsonValidationError());
            }
            var response = new BoolResponse();
            var result   = _authenticationService.Login(_sessionContext.CurrentUser.Username, Sanitizer.GetSafeHtmlFragment(model.OldPassword), true);

            if (result != null)
            {
                response.IsValid = _customerRepository.ChangePassword(Sanitizer.GetSafeHtmlFragment(model.OldPassword), Sanitizer.GetSafeHtmlFragment(model.NewPassword), _sessionContext.CurrentUser.UserId.ToString()).Result;
                return(JsonSuccess(response, JsonRequestBehavior.AllowGet));
            }
            else
            {
                ModelState.AddModelError("Error", "Old Password didn't match.");
                return(JsonValidationError());
            }
        }