public async Task <ActionResult> LockUser(LockUserViewModel model) { if (!ModelState.IsValid) { return(HttpNotFound()); } var result = await _userManager.SetLockoutEnabledAsync(model.UserId, true); TempData["message"] = "Ошибка"; if (result.Succeeded) { var user = userProfileService.GetUserProfile(u => u.Id == model.UserId, i => i.User); user.LockoutReason = model.LockoutReason; await _userManager.SetLockoutEndDateAsync(model.UserId, DateTimeOffset.MaxValue); var updateStampResult = await _userManager.UpdateSecurityStampAsync(model.UserId); userProfileService.SaveUserProfile(); if (result.Succeeded && updateStampResult.Succeeded) { TempData["message"] = "Пользователь заблокирован"; } } return(RedirectToAction("List")); }
public ActionResult LockUser(int?id) { if (id != null) { var model = new LockUserViewModel() { UserId = id.Value }; return(View(model)); } return(HttpNotFound()); }
public async Task <JsonResult> LockUser(LockUserViewModel model) { var result = new { Success = true, Message = "Success" }; if (ModelState.IsValid) { try { // Get current user. var user = await _userManager.FindByIdAsync(model.UserId); user.LockoutEndDateUtc = model.Lock ? DateTime.MaxValue : DateTime.UtcNow; user.LastLoginUtc = DateTime.UtcNow; var identityResult = await _userManager.UpdateAsync(user); if (!identityResult.Succeeded) { result = new { Success = false, Message = identityResult.Errors.First() }; } } catch (Exception ex) { _contextManager.ResponseManager.StatusCode = 500; _contextManager.ResponseManager.AppendHeader(ModelStateErrorNames.ErrorMessage, ex.Message); result = new { Success = false, ex.Message }; } } else { var errors = ModelState.GetModelStateMesssages(); result = new { Success = false, Message = errors.First() }; } return(Json(result, JsonRequestBehavior.AllowGet)); }