@page "/admin/users" @using Microsoft.JSInterop @inject IAdminManagementService AdminManagementService @inject IJSRuntime JsRuntime @layout AdminLayout @attribute [Authorize(Roles = UserRoles.Admin)]

User Management Page

@if (_doctors == null || _patients == null) {

Loading...

} else {

Doctors

@foreach (var doctor in _doctors) { }
Name Email Actions
@doctor.Name @doctor.Email

Patients

@foreach (var patient in _patients) { }
Name Email Actions
@patient.Name @patient.Email
} @code { private List _doctors = []; private List _patients = []; private string _errorMessage = string.Empty; protected override async Task OnInitializedAsync() { try { var doctorsResult = await AdminManagementService.GetDoctors(); var patientsResult = await AdminManagementService.GetPatients(); _doctors = doctorsResult.Data; _patients = patientsResult.Data; } catch (Exception ex) { _errorMessage = $"Error loading data: {ex.Message}"; } } private async Task DeleteDoctor(Guid id) { var confirmed = await JsRuntime.InvokeAsync("confirm", $"Are you sure you want to delete this doctor?"); if (confirmed) { var success = await AdminManagementService.DeleteDoctor(id); if (success) { var doctorsResult = await AdminManagementService.GetDoctors(); _doctors = doctorsResult.Data; } else { _errorMessage = "Error deleting doctor."; } } } private async Task DeletePatient(Guid id) { var confirmed = await JsRuntime.InvokeAsync("confirm", $"Are you sure you want to delete this patient?"); if (confirmed) { var success = await AdminManagementService.DeletePatient(id); if (success) { var patientsResult = await AdminManagementService.GetPatients(); _patients = patientsResult.Data; } else { _errorMessage = "Error deleting patient."; } } } }