Complete setAdmin method

pull/26/head
tomivt 3 months ago
parent 944c620e80
commit 85aeeb061c

@ -97,7 +97,7 @@ else
<div class="divPopup"> <div class="divPopup">
<div class="contentPopup"> <div class="contentPopup">
<p>Êtes-vous sûr de vouloir changer le rôle de cet utilisateur ?</p> <p>Êtes-vous sûr de vouloir changer le rôle de cet utilisateur ?</p>
<button @onclick="() => Admin()">Confirmer</button> <button @onclick="() => setAdmin()">Confirmer</button>
<button @onclick="ClosePopup">Annuler</button> <button @onclick="ClosePopup">Annuler</button>
</div> </div>
</div> </div>

@ -11,7 +11,7 @@ namespace WF_WebAdmin.Pages
private bool showDeletePopup = false; private bool showDeletePopup = false;
private bool showModifyPopup = false; private bool showModifyPopup = false;
private User userToDelete = null; private User userToDelete = null;
private User selectedUser; private User selectedUser;
private bool showPopupDelete = false; private bool showPopupDelete = false;
private bool showPopupAdmin = false; private bool showPopupAdmin = false;
private User userToAdmin = null; private User userToAdmin = null;
@ -32,25 +32,25 @@ namespace WF_WebAdmin.Pages
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
userService = new UserServiceStub($"fake-dataUsers.json"); userService = new UserServiceStub();
users = await userService.GetUsersJson(); users = await userService.getAllUser();
} }
private async Task OnReadData(DataGridReadDataEventArgs<Quote> e) private async Task OnReadData(DataGridReadDataEventArgs<Quote> e)
{ {
if (e.CancellationToken.IsCancellationRequested) if (e.CancellationToken.IsCancellationRequested)
{ {
return; return;
} }
var response = await userService.getSomeUser(e.PageSize, e.Page); var response = await userService.getSomeUser(e.PageSize, e.Page);
if (!e.CancellationToken.IsCancellationRequested) if (!e.CancellationToken.IsCancellationRequested)
{ {
totalItem = await userService.getNbUser(); totalItem = await userService.getNbUser();
users = response.ToArray(); users = new List<User>(response.ToArray());
} }
} }
// ------- Popup remove user ------- // ------- Popup remove user -------
@ -71,16 +71,16 @@ namespace WF_WebAdmin.Pages
{ {
if (userToDelete != null) if (userToDelete != null)
{ {
userService = new UserServiceStub($"fake-dataUsers.json"); userService = new UserServiceStub();
await userService.DeleteUserJson(userToDelete.Id); await userService.removeUser(userToDelete);
ClosePopup(); ClosePopup();
} }
} }
private async Task ModifyUser() private async Task ModifyUser()
{ {
userService = new UserServiceStub($"fake-dataUsers.json"); userService = new UserServiceStub();
await userService.UpdateUserJson(selectedUser); await userService.updateUser(selectedUser);
ClosePopup(); ClosePopup();
} }
@ -102,17 +102,19 @@ namespace WF_WebAdmin.Pages
private async Task Admin() private async Task setAdmin()
{ {
if (!userToAdmin.IsAdmin) if (!userToAdmin.IsAdmin)
{ {
userToAdmin.IsAdmin = true; userToAdmin.IsAdmin = true;
await userService.updateUser(userToAdmin);
ClosePopup(); ClosePopup();
} }
else else
{ {
userToAdmin.IsAdmin = false; userToAdmin.IsAdmin = false;
ClosePopup(); await userService.updateUser(userToAdmin);
ClosePopup();
} }
} }

@ -1,17 +1,17 @@
using System.Text.Json; using System.Text.Json;
using WF_WebAdmin.Model; using WF_WebAdmin.Model;
namespace WF_WebAdmin.Service;
public class UserServiceStub : IUserService
{
private readonly string _jsonFilePath = Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake-dataUsers.json");
namespace WF_WebAdmin.Service;
public async Task saveUsersJson(List<User> users) public class UserServiceStub : IUserService
{ {
var json = JsonSerializer.Serialize(users, new JsonSerializerOptions { WriteIndented = true }); private readonly string _jsonFilePath = Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake_data_users.json");
await File.WriteAllTextAsync(_jsonFilePath, json);
public async Task saveUsersJson(List<User> users)
{
var json = JsonSerializer.Serialize(users, new JsonSerializerOptions { WriteIndented = true });
await File.WriteAllTextAsync(_jsonFilePath, json);
} }
public async Task removeUser(User user) public async Task removeUser(User user)

@ -1,175 +1,166 @@
[ [
{ {
"Id": 1, "Id": 1,
"Image": "https://tse4.mm.bing.net/th/id/OIP.fc5TQflh0cbxB1GUeOdk6gHaK8?w=123\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse4.mm.bing.net/th/id/OIP.fc5TQflh0cbxB1GUeOdk6gHaK8?w=123\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "admin", "Name": "admin",
"Email": "admin@gmail.com", "Email": "adminop@gmail.com",
"DateCreation": "2024-12-12T00:00:00", "DateCreation": "2024-12-12T00:00:00",
"IsAdmin": true, "IsAdmin": true,
"Comments": [ "Comments": [
{ {
"Text": "Commentaire 1", "Text": "Commentaire 1",
"DateCreation": "2024-12-12T00:00:00" "DateCreation": "2024-12-12T00:00:00"
}, },
{ {
"Text": "Commentaire 2", "Text": "Commentaire 2",
"DateCreation": "2024-11-12T00:00:00" "DateCreation": "2024-11-12T00:00:00"
} }
] ]
}, },
{ {
"Id": 2, "Id": 3,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse4.mm.bing.net/th/id/OIP.XNQPKwc1OUfvnSO9MsxDYgHaE7?w=202\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "exploit2", "Name": "testeur",
"Email": "exploit@gmail.com", "Email": "testeur@gmail.com",
"DateCreation": "2024-11-12T00:00:00", "DateCreation": "2024-08-02T00:00:00",
"IsAdmin": true, "IsAdmin": false,
"Comments": null "Comments": [
}, {
{ "Text": "Premier test effectu\u00E9, tout semble OK.",
"Id": 3, "DateCreation": "2024-08-02T00:00:00"
"Image": "https://tse4.mm.bing.net/th/id/OIP.XNQPKwc1OUfvnSO9MsxDYgHaE7?w=202\u0026h=180\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", }
"Name": "testeur", ]
"Email": "testeur@gmail.com", },
"DateCreation": "2024-08-02T00:00:00", {
"IsAdmin": false, "Id": 4,
"Comments": [ "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
{ "Name": "dev",
"Text": "Premier test effectu\u00E9, tout semble OK.", "Email": "dev@gmail.com",
"DateCreation": "2024-08-02T00:00:00" "DateCreation": "2024-10-10T00:00:00",
} "IsAdmin": false,
] "Comments": null
}, },
{ {
"Id": 4, "Id": 5,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "dev", "Name": "jean_doe",
"Email": "dev@gmail.com", "Email": "jean.doe@gmail.com",
"DateCreation": "2024-10-10T00:00:00", "DateCreation": "2024-06-25T00:00:00",
"IsAdmin": false, "IsAdmin": false,
"Comments": null "Comments": [
}, {
{ "Text": "Utilisateur tr\u00E8s actif, peut \u00EAtre un peu trop intrusif.",
"Id": 5, "DateCreation": "2024-06-25T00:00:00"
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", }
"Name": "jean_doe", ]
"Email": "jean.doe@gmail.com", },
"DateCreation": "2024-06-25T00:00:00", {
"IsAdmin": false, "Id": 6,
"Comments": [ "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
{ "Name": "jane_smith",
"Text": "Utilisateur tr\u00E8s actif, peut \u00EAtre un peu trop intrusif.", "Email": "jane.smith@gmail.com",
"DateCreation": "2024-06-25T00:00:00" "DateCreation": "2024-07-15T00:00:00",
} "IsAdmin": false,
] "Comments": null
}, },
{ {
"Id": 6, "Id": 7,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "jane_smith", "Name": "admin_joe",
"Email": "jane.smith@gmail.com", "Email": "admin.joe@gmail.com",
"DateCreation": "2024-07-15T00:00:00", "DateCreation": "2024-05-30T00:00:00",
"IsAdmin": false, "IsAdmin": true,
"Comments": null "Comments": null
}, },
{ {
"Id": 7, "Id": 8,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "admin_joe", "Name": "dev_anna",
"Email": "admin.joe@gmail.com", "Email": "dev.anna@gmail.com",
"DateCreation": "2024-05-30T00:00:00", "DateCreation": "2024-09-05T00:00:00",
"IsAdmin": true, "IsAdmin": false,
"Comments": null "Comments": null
}, },
{ {
"Id": 8, "Id": 9,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "dev_anna", "Name": "support_mark",
"Email": "dev.anna@gmail.com", "Email": "support.mark@gmail.com",
"DateCreation": "2024-09-05T00:00:00", "DateCreation": "2024-11-20T00:00:00",
"IsAdmin": false, "IsAdmin": false,
"Comments": null "Comments": [
}, {
{ "Text": "Support rapide et efficace, mais manquant un peu de d\u00E9tails.",
"Id": 9, "DateCreation": "2024-11-20T00:00:00"
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", }
"Name": "support_mark", ]
"Email": "support.mark@gmail.com", },
"DateCreation": "2024-11-20T00:00:00", {
"IsAdmin": false, "Id": 10,
"Comments": [ "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
{ "Name": "dev_susan",
"Text": "Support rapide et efficace, mais manquant un peu de d\u00E9tails.", "Email": "dev.susan@gmail.com",
"DateCreation": "2024-11-20T00:00:00" "DateCreation": "2024-08-12T00:00:00",
} "IsAdmin": false,
] "Comments": null
}, },
{ {
"Id": 10, "Id": 11,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "dev_susan", "Name": "designer_steve",
"Email": "dev.susan@gmail.com", "Email": "designer.steve@gmail.com",
"DateCreation": "2024-08-12T00:00:00", "DateCreation": "2024-07-01T00:00:00",
"IsAdmin": false, "IsAdmin": false,
"Comments": null "Comments": [
}, {
{ "Text": "Le design doit \u00EAtre retravaill\u00E9 pour plus de clart\u00E9.",
"Id": 11, "DateCreation": "2024-07-01T00:00:00"
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", }
"Name": "designer_steve", ]
"Email": "designer.steve@gmail.com", },
"DateCreation": "2024-07-01T00:00:00", {
"IsAdmin": false, "Id": 12,
"Comments": [ "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
{ "Name": "admin_lucas",
"Text": "Le design doit \u00EAtre retravaill\u00E9 pour plus de clart\u00E9.", "Email": "admin.lucas@gmail.com",
"DateCreation": "2024-07-01T00:00:00" "DateCreation": "2024-09-22T00:00:00",
} "IsAdmin": true,
] "Comments": null
}, },
{ {
"Id": 12, "Id": 13,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "admin_lucas", "Name": "manager_anna",
"Email": "admin.lucas@gmail.com", "Email": "manager.anna@gmail.com",
"DateCreation": "2024-09-22T00:00:00", "DateCreation": "2024-05-01T00:00:00",
"IsAdmin": true, "IsAdmin": false,
"Comments": null "Comments": null
}, },
{ {
"Id": 13, "Id": 14,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "manager_anna", "Name": "developer_mike",
"Email": "manager.anna@gmail.com", "Email": "developer.mike@gmail.com",
"DateCreation": "2024-05-01T00:00:00", "DateCreation": "2024-11-02T00:00:00",
"IsAdmin": false, "IsAdmin": false,
"Comments": null "Comments": null
}, },
{ {
"Id": 14, "Id": 15,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "developer_mike", "Name": "test_user_01",
"Email": "developer.mike@gmail.com", "Email": "test.user01@gmail.com",
"DateCreation": "2024-11-02T00:00:00", "DateCreation": "2024-06-10T00:00:00",
"IsAdmin": false, "IsAdmin": false,
"Comments": null "Comments": null
}, },
{ {
"Id": 15, "Id": 16,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7", "Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "test_user_01", "Name": "admin_kate",
"Email": "test.user01@gmail.com", "Email": "admin.kate@gmail.com",
"DateCreation": "2024-06-10T00:00:00", "DateCreation": "2024-04-16T00:00:00",
"IsAdmin": false, "IsAdmin": true,
"Comments": null "Comments": null
}, }
{
"Id": 16,
"Image": "https://tse2.mm.bing.net/th/id/OIP.MMpXBB5RDRYQm05FJmevGAHaKl?w=137\u0026h=195\u0026c=7\u0026r=0\u0026o=5\u0026pid=1.7",
"Name": "admin_kate",
"Email": "admin.kate@gmail.com",
"DateCreation": "2024-04-16T00:00:00",
"IsAdmin": true,
"Comments": null
}
] ]
Loading…
Cancel
Save