public async Task <ActionResult> DeleteUser(string id) { IdentityUser user = await userManager.FindByIdAsync(id); if (user != null) { IdentityResult result = await userManager.DeleteAsync(user); if (!result.Succeeded) { return(RedirectToAction("Error")); } } commentRepository.DeleteUserComments(id); rateRepository.DeleteUserRates(id); TempData["message"] = $"Користувач {user.UserName} видалений"; return(RedirectToAction("Index")); }
public async Task <IActionResult> OnPostAsync() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Не вдається завантажити користувача з ID '{_userManager.GetUserId(User)}'.")); } RequirePassword = await _userManager.HasPasswordAsync(user); if (RequirePassword) { if (!await _userManager.CheckPasswordAsync(user, Input.Password)) { ModelState.AddModelError(string.Empty, "Пароль не вірний."); return(Page()); } } var result = await _userManager.DeleteAsync(user); var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Неочікувана помилка при вимкненні 2FA для користувача з ID '{userId}'"); } await _signInManager.SignOutAsync(); _logger.LogInformation("Користувач з ID '{UserId}' видалив себе.", userId); commentRepository.DeleteUserComments(userId); rateRepository.DeleteUserRates(userId); return(Redirect("~/")); }