Pas d'erreur de compil, mais pas encore le filtre entre utilisateur bannie ou non dans l'affichage de la liste

WORK-KMO-BannedUser
Kevin MONTEIRO 1 year ago
parent f223bd6a79
commit 97c4a38639

@ -1,4 +1,3 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34330.188

@ -0,0 +1,25 @@
@page "/banned-users/add"
@using HeartTrack.Models
<PageTitle>Add Banned Users</PageTitle>
<h1>Add Banned Users</h1>
<!-- Votre formulaire d'ajout d'utilisateur banni peut être ajouté ici -->
<DataGrid TItem="User"
Data="@users"
ReadData="@OnReadData"
TotalItems="@totalUser"
PageSize="10"
ShowPager
Responsive>
<DataGridColumn TItem="User" Field="@nameof(User.Id)" Caption="Id" />
<DataGridColumn TItem="User" Field="@nameof(User.Username)" Caption="@Localizer["Username"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Nom)" Caption="@Localizer["FirstN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Prenom)" Caption="@Localizer["LastN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.isBan)" Caption="@Localizer["isBan"]" />
<DataGridColumn Caption="" />
</DataGrid>

@ -0,0 +1,76 @@

using Blazored.LocalStorage;
using Blazorise;
using Blazorise.DataGrid;
using HeartTrack.Models;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
namespace HeartTrack.Pages
{
public partial class AddBannedUsers
{
private List<User> users;
private int totalUser;
[Inject]
public HttpClient Http { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[Inject]
public ILocalStorageService LocalStorage { get; set; }
[Inject]
public IStringLocalizer<BannedUsers> Localizer { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
// Do not treat this action if is not the first render
if (!firstRender)
{
return;
}
var currentData = await LocalStorage.GetItemAsync<User[]>("data");
// Check if data exist in the local storage
if (currentData == null)
{
// this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method)
var originalData = Http.GetFromJsonAsync<User[]>($"{NavigationManager.BaseUri}fake-users.json").Result;
await LocalStorage.SetItemAsync("data", originalData);
// Filtrer pour n'afficher que ceux qui ont IsBan à true
users = users.Where(u => u.isBan = false).ToList();
}
}
private async Task OnReadData(DataGridReadDataEventArgs<User> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
// When you use a real API, we use this follow code
//var response = await Http.GetJsonAsync<Data[]>( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" );
var response = (await LocalStorage.GetItemAsync<User[]>("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
if (!e.CancellationToken.IsCancellationRequested)
{
totalUser = (await LocalStorage.GetItemAsync<List<User>>("data")).Count;
users = new List<User>(response); // an actual data for the current page
}
}
private void AddBannedUsersList()
{
// Ajoutez ici la logique pour ajouter les utilisateurs cochés à la liste des utilisateurs bannis
}
}
}

@ -24,6 +24,7 @@ This is banned users list of this website.
<DataGridColumn TItem="User" Field="@nameof(User.Username)" Caption="@Localizer["Username"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Nom)" Caption="@Localizer["FirstN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Prenom)" Caption="@Localizer["LastN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.isBan)" Caption="@Localizer["isBan"]" />
<DataGridColumn Caption="" />
</DataGrid>

@ -40,8 +40,11 @@ namespace HeartTrack.Pages
if (currentData == null)
{
// this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method)
var originalData = Http.GetFromJsonAsync<User[]>($"{NavigationManager.BaseUri}fake-data.json").Result;
var originalData = Http.GetFromJsonAsync<User[]>($"{NavigationManager.BaseUri}fake-users.json").Result;
await LocalStorage.SetItemAsync("data", originalData);
// Filtrer pour n'afficher que ceux qui ont IsBan à true
users = users.Where(u => u.isBan = true).ToList();
}
}

Loading…
Cancel
Save