public void StoreActionResponseMessageByLoginStatus(LoginStatus status)
        {
            IValidationMessageService validationMessageService = NinjectWebCommon.GetConcreteInstance <IValidationMessageService>();

            if (status == LoginStatus.Blocked)
            {
                validationMessageService.StoreActionResponseMessageInfo("Your account has been blocked. Please contact with support.");
            }
            else if (status == LoginStatus.Failed)
            {
                validationMessageService.StoreActionResponseMessageError("Problem has been occurred while proccessing you requst. Please try again.");
            }
            else if (status == LoginStatus.InvalidLogin)
            {
                validationMessageService.StoreActionResponseMessageError("Incorrect Username or Password");
            }
            else if (status == LoginStatus.Successful)
            {
                validationMessageService.StoreActionResponseMessageSuccess("Login Successful");
            }
            else if (status == LoginStatus.Unverified)
            {
                validationMessageService.StoreActionResponseMessageError("Please confirm your email address.");
            }
        }
 public ActionResult Login(LoginViewModel model, string returnUrl)
 {
     ViewBag.ReturnUrl = returnUrl;
     if (!ModelState.IsValid)
     {
         _validationMessageService.StoreActionResponseMessageError(ModelState);
         return(View(model));
     }
     try
     {
         LoginStatus loginStatus = _membershipService.ProcessLogin(model.UserName, model.Password);
         model.StoreActionResponseMessageByLoginStatus(loginStatus);
         if (loginStatus == LoginStatus.Successful)
         {
             this.StoreUserInSession(_userService.GetUserByUserName(model.UserName));
             return(this.RedirectToLocal(returnUrl));
         }
     }
     catch (Exception ex)
     {
         _validationMessageService.StoreActionResponseMessageError("Problem has been occurred while proccessing you requst. Please try again.");
         _logger.Error(ex, "User failed to create: UserName={0}", model.UserName);
     }
     return(View(model));
 }