using Blazored.LocalStorage; using Blazorise; using Blazorise.DataGrid; using HeartTrack.Models; using HeartTrack.Services.TicketDataService; using HeartTrack.Services.UserDataService; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; using static MudBlazor.CategoryTypes; using System.Net.Http; namespace HeartTrack.Pages { public partial class BannedUsers { private List users; private int totalUser; [Inject] public HttpClient Http { get; set; } [Inject] public NavigationManager NavigationManager { get; set; } [Inject] public ILocalStorageService LocalStorage { get; set; } [Inject] public IUserDataService UserService { get; set; } private async Task OnReadData(DataGridReadDataEventArgs e) { if (e.CancellationToken.IsCancellationRequested) { return; } // When you use a real API, we use this follow code //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" ); var response = (await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-users.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); if (!e.CancellationToken.IsCancellationRequested) { totalUser = (await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-users.json")).Count; users = new List(response); // an actual data for the current page } } private void BanOnID(int id) { UserService.BanOnId(id); NavigationManager.NavigateTo("/banned-users", true); } private void UnbanOnID(int id) { UserService.UnbanOnId(id); NavigationManager.NavigateTo("/banned-users", true); } } }