public ActionResult Login(LoginModel model) { if (ModelState.IsValid) { int outputMessage; AccountDbAccess ADA = new AccountDbAccess(); ADA.LogInUser(model.userName, model.password, true, Config.clientId, out outputMessage); LoginErrorCode errorCode = (LoginErrorCode)outputMessage; if (outputMessage == 0) { //Check is this first login, then redirect to change password if (UserInfoModel.PasswordExpireDate < DateTime.Now) { return(RedirectToAction("ChangePassword", new { @userId = UserInfoModel.UserID })); } ViewBag.message = "Successfully loggedIn"; ViewBag.messageType = "success"; return(JavaScript("window.top.location.href ='" + Url.Action("Index", "Home", new { area = "" }) + "';")); } else { ModelState.AddModelError("LoginModel", "Login failed"); ViewBag.message = "Login failed"; ViewBag.messageType = "error"; } } else { ModelState.AddModelError("Login", "Login failed"); ViewBag.message = "Login failed"; ViewBag.messageType = "error"; } return(PartialView(model)); }
public ActionResult ChangePassword(ChangePasswordModel model) { if (ModelState.IsValid) { //Validate new password if (model.newPswd != model.confirmPswd) { ViewBag.message = AccountResource.ResourceManager.GetString("passwordMismatch"); ViewBag.messageType = MessageTypes.Error; return(PartialView(model)); } if (UserInfoModel.UserID <= 0) { ViewBag.message = AccountResource.ResourceManager.GetString("error_PswdChange"); ViewBag.messageType = MessageTypes.Error; return(PartialView(model)); } else { AccountDbAccess ADA = new AccountDbAccess(); string resetError; if (!ADA.UpdatePassword(UserInfoModel.UserID, model.newPswd, out resetError)) { ViewBag.message = resetError; ViewBag.messageType = MessageTypes.Error; return(PartialView(model)); } //Clears login attempt History for specified userId int rows = ADA.ClearLoginAttempts(UserInfoModel.UserID); //Get user with new password to make sure that everything is OK int outputValue; ADA.LogInUser(model.email, model.newPswd, true, Config.clientId, out outputValue); if (outputValue == 0) { ViewBag.message = "Successfully changed password"; ViewBag.messageType = "success"; return(JavaScript("window.top.location.href ='" + Url.Action("Index", "Login", new { area = "Account" }) + "';")); } else { //UserInfoModel.UserInfo = SessionWrapper.Get<UserInfoModel>("UserDetail", null); ViewBag.message = AccountResource.ResourceManager.GetString("criticalError"); ViewBag.messageType = MessageTypes.Error; return(PartialView(model)); } } } else { ModelState.AddModelError("Login", "Password couldn't change"); ViewBag.message = "Password change failed"; ViewBag.messageType = "error"; } return(PartialView(model)); }