public IActionResult LogIn() { LoginViewModel user = new LoginViewModel(); user.RememberMe = false; if (Request.Cookies[EncryptANDDecrypt.EncryptText("ECommerceUserName")] != null) { user.UserName = EncryptANDDecrypt.DecryptText(Request.Cookies[EncryptANDDecrypt.EncryptText("ECommerceUserName")]); user.Password = EncryptANDDecrypt.DecryptText(Request.Cookies[EncryptANDDecrypt.EncryptText("ECommercePassword")]); user.RememberMe = true; CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(-1) }; var currentUser = _uow.UsersRepository.GetMany(ent => ent.UserName == user.UserName && !ent.IsDeleted).FirstOrDefault(); if (currentUser == null) { return(View("Index")); } AppSession.CurrentUser = currentUser; var rqf = Request.HttpContext.Features.Get <IRequestCultureFeature>(); return(RedirectToAction("Index", "Home")); } return(View(user)); }
public IActionResult ChangePassword(ChangePassword password) { if (ModelState.IsValid) { var currentuser = AppSession.CurrentUser; if (currentuser == null) { return(RedirectToAction("LogIn", "Account")); } if (password != null && !string.IsNullOrEmpty(password.NewPassword) && password.NewPassword == password.ConfirmNewPassword) { if (password.CurrentPassword == password.NewPassword) { ModelState.AddModelError("NewPassword", "New Password Must be Different from Current Password"); } //current user password equal entered password if (EncryptANDDecrypt.DecryptText(currentuser.Password) != password.CurrentPassword) { ModelState.AddModelError("CurrentPassword", "InCorrect Password!!"); } if (ModelState.IsValid) { currentuser.Password = EncryptANDDecrypt.EncryptText(password.NewPassword); currentuser.ModificationDate = DateTime.Now; _uow.UsersRepository.Update(currentuser); _uow.Save(); AppSession.CurrentUser = null; return(RedirectToAction("ChangePasswordDone", "Account")); } } } return(View(password)); }
public IActionResult ResetPassword(ResetPassword passwordModel) { if (ModelState.IsValid) { var log = _uow.ForgetPasswordURLRepository.Get(ent => ent.Token == passwordModel.token); if (log != null) { Users user = null; Customer cust = null; if (log.ToType == (int)EN_TypeUser.Customer) { cust = _uow.CustomerRepository.Get(ent => ent.Id == log.ToId); } else { user = _uow.UsersRepository.Get(ent => ent.Id == log.ToId); } //token still active if ((DateTime.Now - log.Expiration).TotalMinutes < 30) { if (user != null) { user.Password = EncryptANDDecrypt.DecryptText(passwordModel.Password); user.ModificationDate = DateTime.Now; _uow.UsersRepository.Update(user); } else if (cust != null) { cust.Password = EncryptANDDecrypt.DecryptText(passwordModel.Password); cust.ModificationDate = DateTime.Now; _uow.CustomerRepository.Update(cust); } else { ModelState.AddModelError("token", "Invalid token information"); } if (ModelState.IsValid) { _uow.Save(); ViewBag.Type = log.ToType; return(RedirectToAction("ResetPasswordComplete", "Account")); } } else { ModelState.AddModelError("token", "Expired token"); } } else { ModelState.AddModelError("token", "Invalid token"); } } return(View(passwordModel)); }
public IActionResult CustomerChangePassword([FromBody] ChangePassword password, long CurrentCustId) { if (ModelState.IsValid) { var currentcust = _uow.CustomerRepository.Get(ent => ent.Id == CurrentCustId); if (currentcust == null) { ModelState.AddModelError("", "Customer with Id :" + CurrentCustId + " Can't be found"); } else if (password != null && !string.IsNullOrEmpty(password.NewPassword) && password.NewPassword == password.ConfirmNewPassword) { if (password.CurrentPassword == password.NewPassword) { ModelState.AddModelError("NewPassword", "New Password Must be Different from Current Password"); } //current user password equal entered password if (EncryptANDDecrypt.DecryptText(currentcust.Password) != password.CurrentPassword) { ModelState.AddModelError("CurrentPassword", "InCorrect Password!!"); } if (ModelState.IsValid) { currentcust.Password = EncryptANDDecrypt.EncryptText(password.NewPassword); currentcust.ModificationDate = DateTime.Now; _uow.CustomerRepository.Update(currentcust); _uow.Save(); return(Ok(new ApiResponseModel { Status = EN_ResponseStatus.Success, Message = "Change Password Done", Data = null, Errors = null })); } } } var errors = ModelState.Select(ent => new { key = ent.Key, value = ent.Value.Errors.Select(err => (err.ErrorMessage == null || err.ErrorMessage == "") ? err.Exception.Message : err.ErrorMessage) }); var errors_list = new List <string>(); foreach (var sublist in errors) { foreach (var item in sublist.value) { errors_list.Add(sublist.key + ": " + item); } } return(Ok(new ApiResponseModel { Status = EN_ResponseStatus.Faild, Message = "Error Occured", Data = null, Errors = errors_list.ToArray() })); }
public IActionResult ValidatePassword(string CurrentPassword) { bool result; var currentuser = AppSession.CurrentUser; if (EncryptANDDecrypt.DecryptText(currentuser.Password) == CurrentPassword) { result = true; } else { result = false; } return(Json(result)); }