public ActionResult UserLogin(UserLogin userLogin)
        {
            NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

            if (ModelState.IsValid)
            {
                ViewBag.ForgottenPasswordLink = false;
                try
                {
                    UserRequest userRequest = new UserRequest
                    {
                        Users = new List<User> 
                        {
                            new User { 
                                UserName = userLogin.UserName, 
                                PasswordHash = userLogin.Password 
                            }
                        }
                    };

                    UserResponse userResponse = RestPostUserRequest("ValidatePassword", userRequest);
                    User user = userResponse.Users[0];

                    Session.Add("IsUserAuthenticated", true);
                    Session.Add("UserNameSurname", user.FirstName + " " + user.LastName);
                    Session.Add("User", user);

                    return RedirectToAction("Index", "Home");
                }
                catch (Exception ex)
                {
                    logger.Error(ex.ToString());

                    if (CommonHelper.CheckInvalidPasswordException(ex))
                    {
                        ModelState.AddModelError("Password", Resources.Global.MessageInvalidPassword);
                        ViewBag.ForgottenPasswordLink = true;
                    }
                    else if (CommonHelper.CheckNoDataFoundException(ex))
                        ModelState.AddModelError("UserName", Resources.Global.MessageInvalidUsername);
                    else if (CommonHelper.CheckExpiredPasswordException(ex))
                        ModelState.AddModelError("Password", Resources.Global.MessageExpiredPassword);
                    else
                        ModelState.AddModelError("", Resources.Global.MessageUnknownError);
                }
            }
            else
                ModelState.AddModelError("", Resources.Global.MessageInvalidValues);

            return View("UserLoginConfirm", userLogin);
        }
 public ActionResult UserLoginConfirm(UserLogin userLogin)
 {
     Session.Add("IsUserAuthenticated", false);
     return View(userLogin);
 }