diff --git a/Sources/HeartTrack/Pages/AddBannedUsers.razor b/Sources/HeartTrack/Pages/AddBannedUsers.razor
deleted file mode 100644
index 8b29571..0000000
--- a/Sources/HeartTrack/Pages/AddBannedUsers.razor
+++ /dev/null
@@ -1,30 +0,0 @@
-@page "/banned-users/add"
-@using HeartTrack.Models
-
-Add Banned Users
-
-
Add Banned Users
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Ajouter à la liste des utilisateurs bannis
-
-
-
diff --git a/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs b/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs
deleted file mode 100644
index ffb0cf8..0000000
--- a/Sources/HeartTrack/Pages/AddBannedUsers.razor.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-
-using Blazored.LocalStorage;
-using Blazorise;
-using Blazorise.DataGrid;
-using HeartTrack.Models;
-using Microsoft.AspNetCore.Components;
-using Microsoft.Extensions.Localization;
-using MudBlazor;
-using static MudBlazor.Colors;
-
-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(); // an actual data for the current page
- foreach (var user in response) {
- if (user.isBan = false)
- {
- users.Add(user);
- }
- }
-
- }
- }
-
- 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 c081eb2..0319f83 100644
--- a/Sources/HeartTrack/Pages/BannedUsers.razor
+++ b/Sources/HeartTrack/Pages/BannedUsers.razor
@@ -11,7 +11,6 @@ This is banned users list of this website.
Ajouter
-
-
-
-
-
-
-
+
+
+
+ @if(context.isBan)
+ {
+ Banni
+
+ } else
+ {
+ Libre
+
+ }
+
+
+
+
+ @if (context.isBan)
+ {
+ UnbanOnID(context.Id)" />
+ }
+ else
+ {
+ BanOnID(context.Id)" />
+ }
+
+
diff --git a/Sources/HeartTrack/Pages/BannedUsers.razor.cs b/Sources/HeartTrack/Pages/BannedUsers.razor.cs
index 0e57439..7125cb3 100644
--- a/Sources/HeartTrack/Pages/BannedUsers.razor.cs
+++ b/Sources/HeartTrack/Pages/BannedUsers.razor.cs
@@ -2,8 +2,12 @@
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
{
@@ -13,39 +17,15 @@ namespace HeartTrack.Pages
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);
-
-
- }
- }
+ public IUserDataService UserService { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs e)
{
@@ -55,14 +35,24 @@ namespace HeartTrack.Pages
}
// 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();
+ //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 LocalStorage.GetItemAsync
>("data")).Count;
+ 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);
+ }
}
}
diff --git a/Sources/HeartTrack/Program.cs b/Sources/HeartTrack/Program.cs
index 5d6d55a..173ff01 100644
--- a/Sources/HeartTrack/Program.cs
+++ b/Sources/HeartTrack/Program.cs
@@ -10,15 +10,6 @@ using HeartTrack.Services.ActivityDataService;
using HeartTrack.Services.ReportDataService;
using HeartTrack.Services.UserDataService;
using HeartTrack.Services.TicketDataService;
-using Blazorise;
-using Blazorise.Bootstrap;
-using Blazorise.Icons.FontAwesome;
-using Microsoft.AspNetCore.Localization;
-using System.Globalization;
-using Microsoft.Extensions.Options;
-using Blazored.LocalStorage;
-using HeartTrack.Services;
-using Microsoft.AspNetCore.Components.Authorization;
using MudBlazor.Services;
using HeartTrack.Services.TicketDataServiceFactice;
diff --git a/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs b/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs
index 2e9673b..98e05a1 100644
--- a/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs
+++ b/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs
@@ -16,6 +16,8 @@ namespace HeartTrack.Services.UserDataService
public Task UpdateUser(User u);
public Task getUserById(int id);
+ public void BanOnId(int id);
+ public void UnbanOnId(int id);
}
}
diff --git a/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs b/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs
index 4623ffc..db3bd50 100644
--- a/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs
+++ b/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs
@@ -82,5 +82,13 @@ namespace HeartTrack.Services.UserDataService
Console.WriteLine("API - Problème mise à jour User");
}
}
+ public async void BanOnId(int id)
+ {
+
+ }
+ public async void UnbanOnId(int id)
+ {
+
+ }
}
}
\ No newline at end of file
diff --git a/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs b/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs
index 5a43b6b..ca82764 100644
--- a/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs
+++ b/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs
@@ -135,5 +135,34 @@ namespace HeartTrack.Services.UserDataServiceFactice
await this.RemoveUser(u);
await this.AddUser(u);
}
+ public async void BanOnId(int id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Update item status
+ item.isBan = true;
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+ public async void UnbanOnId(int id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Update item status
+ item.isBan = false;
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
}
}
\ No newline at end of file