コード例 #1
0
        public ActionResult PasswordReset(AccountViewModel model)
        {
            var validator = new PasswordResetValidator(model.PasswordConfirm).Validate(model.Customer);

            if (validator.IsValid)
            {
                var user = _unitOfWork.GetRepo <Customer>().GetObject(x => x.PasswordResetToken == model.Customer.PasswordResetToken);
                user.Password           = model.Customer.Password;
                user.PasswordResetToken = null;
                _unitOfWork.GetRepo <Customer>().Update(user);
            }
            var sonuc = _unitOfWork.Commit();

            if (sonuc)
            {
                TempData["IsSuccess"]  = sonuc;
                TempData["ModelState"] = ModelState;
                TempData["Message"]    = "Şifre sıfırlama işlemi başarıyla gerçekleştirildi. Aşağıdan giriş yapabilirsiniz.";
                return(RedirectToAction("SignIn"));
            }
            TempData["IsSuccess"] = sonuc;
            validator.Errors.ToList().ForEach(a =>
            {
                ModelState.AddModelError("Customer." + a.PropertyName, a.ErrorMessage);
            });
            TempData["ModelState"] = ModelState;
            TempData["Message"]    = "Şifre sıfırlama işlemi gerçekleştirilemedi. Lütfen tekrar deneyiniz.";
            return(RedirectToAction("PasswordReset", new { token = model.Customer.PasswordResetToken }));
        }
コード例 #2
0
        public ActionResult PasswordEdit(ProfileViewModel model)
        {
            var modelCustomer = new Customer
            {
                Password = model.Password
            };
            var validator = new PasswordResetValidator(model.PasswordConfirm).Validate(modelCustomer);
            var user      = _unitOfWork.GetRepo <Customer>().GetObject(x => x.Email == User.Identity.Name);

            if (validator.IsValid)
            {
                user.Password = _encryptor.Hash(model.Password);
                _unitOfWork.GetRepo <Customer>().Update(user);
            }
            var isSuccess = _unitOfWork.Commit();

            TempData["IsSuccess"] = isSuccess;
            validator.Errors.ToList().ForEach(a =>
            {
                ModelState.AddModelError(a.PropertyName, a.ErrorMessage);
            });
            TempData["ModelState"] = ModelState;
            TempData["Message"]    = isSuccess ? "Şifre güncelleme işlemi başarılı bir şekilde gerçekleştirildi." : "Şifre güncelleme işlemi gerçekleştirilemedi lütfen tekrar deneyiniz.";
            return(RedirectToAction("MyAccount"));
        }