public async Task <IActionResult> Login(LoginViewModel model) { if (ModelState.IsValid) { AppUser user = await Usermanager.FindByEmailAsync(model.Email); //AppUser user = CurrentUser; if (user != null) { if (await Usermanager.IsLockedOutAsync(user)) { ModelState.AddModelError("", "hesap kilitli"); } await SignInManager.SignOutAsync(); Microsoft.AspNetCore.Identity.SignInResult result = await SignInManager.PasswordSignInAsync(user, model.Password, false, false); if (result.Succeeded) { await Usermanager.ResetAccessFailedCountAsync(user); if (TempData["ReturnUrl"] != null) { return(Redirect(TempData["ReturnUrl"].ToString())); } return(RedirectToAction("Index", "Member")); } else { await Usermanager.AccessFailedAsync(user); int fail = await Usermanager.GetAccessFailedCountAsync(user); ModelState.AddModelError("", $"{fail} kez basarisiz giris"); if (fail == 3) { await Usermanager.SetLockoutEndDateAsync(user, new System.DateTimeOffset(DateTime.Now.AddMinutes(20))); ModelState.AddModelError("", "ban for 20 minutes"); } else { ModelState.AddModelError(nameof(model.Email), "gecersiz mail veya sifre"); } } } else { //return RedirectToAction() ModelState.AddModelError(nameof(model.Email), "gecersiz mail veya sifre"); } } return(View()); }