public async Task <IActionResult> LockUnlockUser(string email) { var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(NotFound()); } var model = new LockUnlockUserViewModel() { Email = email, IsLocked = await _userManager.IsLockedOutAsync(user) }; return(View(model)); }
public async Task <IActionResult> LockUnlockUser(LockUnlockUserViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.FindByEmailAsync(model.Email); if (user != null) { if (model.IsLocked) { IdentityResult resultSetUserLockoutEndDate = await _userManager.SetLockoutEndDateAsync(user, DateTimeOffset.MaxValue); if (resultSetUserLockoutEndDate.Succeeded) { _logger.LogInformation(3, "Blokada użytkownika została zmieniona."); return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.LockUnlockUser })); } AddErrors(resultSetUserLockoutEndDate); } else { IdentityResult resultSetUserLockoutEndDate = await _userManager.SetLockoutEndDateAsync(user, null); IdentityResult resultResetUserAccessFailedCount = await _userManager.ResetAccessFailedCountAsync(user); if (resultSetUserLockoutEndDate.Succeeded && resultResetUserAccessFailedCount.Succeeded) { _logger.LogInformation(3, "Blokada użytkownika została zmieniona."); return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.LockUnlockUser })); } AddErrors(resultSetUserLockoutEndDate); AddErrors(resultResetUserAccessFailedCount); } return(View(model)); } return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error })); }