using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using MTG_CollectionVerwaltung.Data; using MTG_CollectionVerwaltung.Data.MTGCollection; namespace MTG_CollectionVerwaltung.Areas.Identity.Pages.Account.Admin { [Authorize(Roles = "Admin")] public class IndexModel : PageModel { private readonly UserManager _userManager; private readonly SignInManager _signInManager; public IndexModel( UserManager userManager, SignInManager signInManager) { _userManager = userManager; _signInManager = signInManager; } public List Users { get; set; } = new List(); public string? CurrentUserID { get; set; } public void OnGet() { Users = _userManager.Users.ToList(); CurrentUserID = _userManager.GetUserId(User); } public async Task OnPostDeleteAsync(string userId) { var user = await _userManager.FindByIdAsync(userId); if (user != null) { if(userId != CurrentUserID) await _userManager.DeleteAsync(user); } return RedirectToPage(); } } }