@page "/roles" @using System.Net.Http.Headers; @using System.Text.Json; @inject HttpClient _httpClient @inject NavigationManager navigation @inject IToastService toastService @inject IModalService modalService @inject AuthenticationStateProvider authenticationStateProvider

Lista de Roles

Crear Nuevo Rol
@if (roles != null && roles.Count > 0) { @foreach (var role in roles) { }
Id Name NormalizedName ConcurrencyStamp Actions
@role.Id @role.Name @role.NormalizedName @role.ConcurrencyStamp @if (role.Name != "Admin") { }
} else {

Cargando informacion...

} @code { private List roles =new List(); protected override async Task OnInitializedAsync() { var customAuthStateProvider = (CustomAuthorizationProvider)authenticationStateProvider; var token = await customAuthStateProvider.GetTokenData(); if (!string.IsNullOrWhiteSpace(token.token)) { _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.token); try { var response = await _httpClient.GetAsync("/api/Account/GetAllRoles"); if (response.IsSuccessStatusCode) { var jsonResponse = await response.Content.ReadAsStringAsync(); var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; roles = JsonSerializer.Deserialize>(jsonResponse, options) ?? new List(); } } catch (Exception ex) { toastService.ShowError(ex.Message); } } } private async Task HandleDeleteConfirmed() { await RefreshRoles(); } public async Task RefreshRoles() { var response = await _httpClient.GetAsync("/api/Account/GetAllRoles"); if (response.IsSuccessStatusCode) { var jsonResponse = await response.Content.ReadAsStringAsync(); var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; roles = JsonSerializer.Deserialize>(jsonResponse, options) ?? new List(); StateHasChanged(); } } public void EditRole(string roleId) { navigation.NavigateTo($"/role/{roleId}"); } private void ConfirmDelete(string roleId) { var parameters = new ModalParameters() .Add(nameof(DeleteRole.id), roleId) .Add(nameof(DeleteRole.OnDeleteConfirmed), EventCallback.Factory.Create(this,HandleDeleteConfirmed)); modalService.Show ("Confirmar Eliminación de Rol", parameters); } public class Role { public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public string NormalizedName { get; set; } = string.Empty; public string ConcurrencyStamp { get; set; } = string.Empty; } }