public async Task <IActionResult> LockoutUser(UserLockoutModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(model.Email); if (model.LockoutTime.HasValue && model.LockoutTime > DateTime.Now) // locks the user out { await _userManager.SetLockoutEndDateAsync(user, new DateTimeOffset(model.LockoutTime.Value.ToUniversalTime())); return(RedirectToAction(nameof(ManageUser), new { userId = user.Id })); } await _userManager.SetLockoutEndDateAsync(user, null); return(RedirectToAction(nameof(ManageUser), new { userId = user.Id })); } return(View(model)); }
public async Task <IActionResult> ChangeUserLockout([FromBody] UserLockoutModel lockoutModel) { if (!ModelState.IsValid) { return(ErrorHelper.Error(ModelState)); } var user = await _userManager.FindByIdAsync(lockoutModel.UserId); if (user == null) { return(ErrorHelper.Error(new[] { $"Unable to load user with ID '{lockoutModel.UserId}'." })); } var result = await _userManager.SetLockoutEnabledAsync(user, lockoutModel.IsLockout); if (!result.Succeeded) { return(ErrorHelper.Error(result)); } return(Ok(new { user.Id, UserName = user.Email, IsLockout = user.LockoutEnabled, IsEmailConfirmed = user.EmailConfirmed })); }