public async Task<ActionResult> Login(LoginViewModel loginViewModel, string returnUrl)
        {
            if (!ModelState.IsValid)
                return View(loginViewModel);

            var userByName = await UserManager.FindByNameAsync(loginViewModel.UserName);
            if (String.IsNullOrEmpty(userByName.PasswordHash))
            {
                var userWithoutPassword = userByName;
                await SetPasswordUser(userWithoutPassword, loginViewModel.Password);
            }

            var result = await SignInManager.PasswordSignInAsync(loginViewModel.UserName, loginViewModel.Password, loginViewModel.RememberMe, shouldLockout: false);
            switch (result)
            {
                case SignInStatus.Success:
                    var user = await UserManager.FindAsync(loginViewModel.UserName, loginViewModel.Password);
                    user.LastLogin = DateTime.Now;
                    await UserManager.UpdateAsync(user);
                    if (!user.IsActive)
                    {
                        AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                        ModelState.AddModelError("", "You can not login because you were deactivated");
                        return View(loginViewModel);
                    }
                    user.LastLogin = DateTime.Now;
                    await UserManager.UpdateAsync(user);

                    var rememberMeCookie = new HttpCookie("RememberMeCookie");
                    rememberMeCookie.Value = loginViewModel.RememberMe.ToString();
                    rememberMeCookie.Expires = DateTime.Now.AddYears(30);
                    Response.Cookies.Add(rememberMeCookie);
                    return RedirectToLocal(returnUrl);

                case SignInStatus.Failure:
                default:
                    ModelState.AddModelError("", "User Name or Password is incorrect");
                    return View(loginViewModel);
            }
        }
 public ActionResult Login(string returnUrl)
 {
     var loginViewModel = new LoginViewModel();
     ViewBag.ReturnUrl = returnUrl;
     var rememberMeCookieValue = Request.Cookies["RememberMeCookie"];
     if (rememberMeCookieValue != null)
         if (rememberMeCookieValue.Value.ToLower() == "true")
             loginViewModel.RememberMe = true;
     return View(loginViewModel);
 }