From 97c4a3863922af36754670188ceadab09a9b25db Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Sun, 21 Jan 2024 19:31:05 +0100 Subject: [PATCH] Pas d'erreur de compil, mais pas encore le filtre entre utilisateur bannie ou non dans l'affichage de la liste --- Sources/HeartTrack/HeartTrack.sln | 1 - Sources/HeartTrack/Pages/AddBannedUsers.razor | 25 ++++++ .../HeartTrack/Pages/AddBannedUsers.razor.cs | 76 +++++++++++++++++++ Sources/HeartTrack/Pages/BannedUsers.razor | 1 + Sources/HeartTrack/Pages/BannedUsers.razor.cs | 5 +- 5 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 Sources/HeartTrack/Pages/AddBannedUsers.razor create mode 100644 Sources/HeartTrack/Pages/AddBannedUsers.razor.cs diff --git a/Sources/HeartTrack/HeartTrack.sln b/Sources/HeartTrack/HeartTrack.sln index 0cc61e1..c04b1bf 100644 --- a/Sources/HeartTrack/HeartTrack.sln +++ b/Sources/HeartTrack/HeartTrack.sln @@ -1,4 +1,3 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.8.34330.188 diff --git a/Sources/HeartTrack/Pages/AddBannedUsers.razor b/Sources/HeartTrack/Pages/AddBannedUsers.razor new file mode 100644 index 0000000..5936e24 --- /dev/null +++ b/Sources/HeartTrack/Pages/AddBannedUsers.razor @@ -0,0 +1,25 @@ +@page "/banned-users/add" +@using HeartTrack.Models + +Add Banned Users + +

Add Banned Users

+ + + + + + + + + + + + + diff --git a/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs b/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs new file mode 100644 index 0000000..d36d477 --- /dev/null +++ b/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs @@ -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 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 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("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($"{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 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 LocalStorage.GetItemAsync("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + + if (!e.CancellationToken.IsCancellationRequested) + { + totalUser = (await LocalStorage.GetItemAsync>("data")).Count; + users = new List(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 + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Pages/BannedUsers.razor b/Sources/HeartTrack/Pages/BannedUsers.razor index fcce89b..c081eb2 100644 --- a/Sources/HeartTrack/Pages/BannedUsers.razor +++ b/Sources/HeartTrack/Pages/BannedUsers.razor @@ -24,6 +24,7 @@ This is banned users list of this website. + diff --git a/Sources/HeartTrack/Pages/BannedUsers.razor.cs b/Sources/HeartTrack/Pages/BannedUsers.razor.cs index 06e5990..8884485 100644 --- a/Sources/HeartTrack/Pages/BannedUsers.razor.cs +++ b/Sources/HeartTrack/Pages/BannedUsers.razor.cs @@ -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($"{NavigationManager.BaseUri}fake-data.json").Result; + var originalData = Http.GetFromJsonAsync($"{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(); } }