public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { _logger.LogInformation("User logged in."); var client = new ApplicationUser(); var loginView = new LoginBalanceViewModel(); client.Email = model.Email; var client1 = new ApplicationUser(); if (client.Email == model.Email) { client1 = _homeRepository.IsLoggedIn(client.Email); loginView.ID = client1.Id; loginView.Email = client1.Email; } return(RedirectToAction("Balance", "Client", new { loginView.ID })); } else { ModelState.AddModelError(string.Empty, "Invalid login attempt."); return(View(model)); } } // If we got this far, something failed, redisplay form return(View(model)); }
public ApplicationUser IsLoggedIn(string Email) { _dbContext.Users.Find(Email); ApplicationUser user = _dbContext.Users.SingleOrDefault(m => m.Email == Email); user.IsLoggedIn = true; LoginBalanceViewModel balanceViewModel = new LoginBalanceViewModel(); balanceViewModel.Email = user.Email; balanceViewModel.ID = user.Id; _dbContext.SaveChanges(); return(user); }