From fc94001fb021ebc82294ee7be5d31269e76eae55 Mon Sep 17 00:00:00 2001 From: "patrick.brugiere" Date: Tue, 9 Jan 2024 14:49:55 +0100 Subject: [PATCH] travail sur la page de modification, c'est bon il y a juste un leger bug --- .../adminBlazor/Factories/UserFactory.cs | 34 ++++++++-- .../adminBlazor/Pages/EditUser.razor | 11 +--- .../adminBlazor/Pages/EditUser.razor.cs | 64 +++++++------------ .../adminBlazor/Services/DataLocalService.cs | 2 +- 4 files changed, 55 insertions(+), 56 deletions(-) diff --git a/Project/adminBlazor/adminBlazor/Factories/UserFactory.cs b/Project/adminBlazor/adminBlazor/Factories/UserFactory.cs index d75cce4..04aed5d 100644 --- a/Project/adminBlazor/adminBlazor/Factories/UserFactory.cs +++ b/Project/adminBlazor/adminBlazor/Factories/UserFactory.cs @@ -55,13 +55,12 @@ namespace adminBlazor.Factories if (!string.IsNullOrEmpty(user.Nickname)) item.Nickname = user.Nickname; - if (user.ExtraTime!=null) item.ExtraTime = user.ExtraTime; if (!string.IsNullOrEmpty(user.Image)) item.Image = user.Image; - if (user.Group!=null) + if (user.Group != 0) item.Group = user.Group; if (!string.IsNullOrEmpty(user.Password)) @@ -71,8 +70,33 @@ namespace adminBlazor.Factories item.Email = user.Email; if (user.Roles != null) - item.Roles = user.Roles; - } + { + + if (user.Roles.Contains("student")) + { + item.Roles = new List(); + item.Roles.Add("Student"); + } + else + { + if (user.Roles.Contains("teacher") || user.Roles.Contains("admin")) + { + item.Roles = new List(); + if (user.Roles.Contains("teacher")) + { + item.Roles.Add("Teacher"); + } + if (user.Roles.Contains("admin")) + { + item.Roles.Add("Admin"); + } + } + } + + } + + } + } } -} + diff --git a/Project/adminBlazor/adminBlazor/Pages/EditUser.razor b/Project/adminBlazor/adminBlazor/Pages/EditUser.razor index 7ca3e9d..ab8b6e8 100644 --- a/Project/adminBlazor/adminBlazor/Pages/EditUser.razor +++ b/Project/adminBlazor/adminBlazor/Pages/EditUser.razor @@ -11,7 +11,7 @@

@@ -47,16 +47,9 @@ @foreach (var role in roles) { var currentItem = role; // Capturer la variable locale pour éviter les problèmes de fermeture - @if (currentItem == "student") - { + - break; - } -
diff --git a/Project/adminBlazor/adminBlazor/Pages/EditUser.razor.cs b/Project/adminBlazor/adminBlazor/Pages/EditUser.razor.cs index 1435cd3..6bc8d36 100644 --- a/Project/adminBlazor/adminBlazor/Pages/EditUser.razor.cs +++ b/Project/adminBlazor/adminBlazor/Pages/EditUser.razor.cs @@ -23,6 +23,8 @@ namespace adminBlazor.Pages [Inject] public IWebHostEnvironment WebHostEnvironment { get; set; } + public User currUser; + ///

/// The default enchant categories. @@ -41,9 +43,9 @@ namespace adminBlazor.Pages private async void HandleValidSubmit() { UserModel item = UserFactory.ToModel(user); - - await DataService.Update(Id,item); - + + await DataService.Update(Id, item); + NavigationManager.NavigateTo("list"); } @@ -52,11 +54,12 @@ namespace adminBlazor.Pages protected override async Task OnInitializedAsync() { var item = await DataService.GetById(Id); - // var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.png"); + // currentUser = item; + // var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.png"); - if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{user.Name}.png")) + if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{user.Name}.png")) { - // fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/{item.Name}.png"); + // fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/{item.Name}.png"); } // Set the model with the item @@ -106,7 +109,7 @@ namespace adminBlazor.Pages { // Désactiver les autres cases à cocher si "Étudiant" est décochée disableOtherCheckboxes = false; - user.Roles.Remove(currentItem); + //user.Roles.Remove(currentItem); } } } @@ -126,51 +129,30 @@ namespace adminBlazor.Pages { // Sinon, activer les autres cases disableOtherCheckboxes = false; - user.Roles.Remove(currentItem); + //user.Roles.Remove(currentItem); } } private void RolesCategoriesChange(string item, object checkedValue) { - if (item == "student") - { - isStudentChecked = (bool)checkedValue; - if (isStudentChecked) - { - // Activer les autres cases à cocher si "Étudiant" est cochée - disableOtherCheckboxes = true; - if (!user.Roles.Contains(item)) - { - user.Roles.Add(item); - } - } - else + isStudentChecked = (bool)checkedValue; + + if (isStudentChecked) + { + // Activer les autres cases à cocher si "Étudiant" est cochée + disableOtherCheckboxes = true; + if (!user.Roles.Contains(item)) { - // Désactiver les autres cases à cocher si "Étudiant" est décochée - disableOtherCheckboxes = false; - user.Roles.Remove(item); + user.Roles.Add(item); } } else { - if (disableOtherCheckboxes) - { - //la case student a été coché ducoup on n'ajoute pas les autres rôles cochés - return; - if ((bool)checkedValue) - { - if (!user.Roles.Contains(item)) - { - user.Roles.Add(item); - } - } - else - { - user.Roles.Remove(item); - } - } + // Désactiver les autres cases à cocher si "Étudiant" est décochée + disableOtherCheckboxes = false; + //user.Roles.Remove(item); } } - } + } } diff --git a/Project/adminBlazor/adminBlazor/Services/DataLocalService.cs b/Project/adminBlazor/adminBlazor/Services/DataLocalService.cs index 766e303..207e97c 100644 --- a/Project/adminBlazor/adminBlazor/Services/DataLocalService.cs +++ b/Project/adminBlazor/adminBlazor/Services/DataLocalService.cs @@ -64,7 +64,7 @@ namespace adminBlazor.Services public async Task Update(int id, UserModel model) { // Get the current data - var currentData = await _localStorage.GetItemAsync>("data"); + var currentData = await _localStorage.GetItemAsync("data"); var user = currentData.FirstOrDefault(w => w.Id == id);