Esempio n. 1
0
        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));
            }
        }