public IActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { var account = new Account { Username = model.UserName, Password = Security.Encrypt(model.Password) }; if (_Services.IsAccountLocked(account)) { ViewBag.Message = "Your account is locked."; return(View()); } if (_Services.IsLoginExpired(account)) { ViewBag.Message = "Your account is expired."; return(View()); } if (_Services.IsAvailableToLogin(account)) { HttpContext.Session.SetString("UserId", _Services.GetUserId(account)); var _id = HttpContext.Session.GetString("UserId"); var name = _Services.GetAccountById(int.Parse(_id)).FirstName; HttpContext.Session.SetString("CurrentUser", name); return(RedirectToAction("Index")); } else { ViewBag.Message = "Username and password did not match."; return(View()); } } else { return(View(model)); } }