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 }));
        }