From 50da11c8c1de327061da25d86600842e863e60b8 Mon Sep 17 00:00:00 2001 From: Antoine Jourdain Date: Tue, 26 Mar 2024 19:31:05 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20vocabulaire=20possiblit=C3=A9=20d'ajout?= =?UTF-8?q?er=20du=20vocabulaire=20et=20fix=20de=202/3=20bugitos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adminBlazor/Models/VocabularyListModel.cs | 2 + .../Pages/{Add.razor => AddUser.razor} | 2 +- .../Pages/{Add.razor.cs => AddUser.razor.cs} | 2 +- .../adminBlazor/Pages/AddVoc.razor | 44 +++++++++++++++++++ .../adminBlazor/Pages/AddVoc.razor.cs | 40 +++++++++++++++++ .../adminBlazor/adminBlazor/Pages/List.razor | 2 +- .../adminBlazor/adminBlazor/Pages/Voc.razor | 4 ++ 7 files changed, 93 insertions(+), 3 deletions(-) rename Project/adminBlazor/adminBlazor/Pages/{Add.razor => AddUser.razor} (99%) rename Project/adminBlazor/adminBlazor/Pages/{Add.razor.cs => AddUser.razor.cs} (99%) create mode 100644 Project/adminBlazor/adminBlazor/Pages/AddVoc.razor create mode 100644 Project/adminBlazor/adminBlazor/Pages/AddVoc.razor.cs diff --git a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs index ea6e894..6414253 100644 --- a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs +++ b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs @@ -8,6 +8,8 @@ namespace adminBlazor.Models [Required] public int Id { get; set; } + [Required] + [StringLength(50, ErrorMessage = "Name length can't be more than 50.")] public string Name { get; set; } public byte[] Image { get; set; } diff --git a/Project/adminBlazor/adminBlazor/Pages/Add.razor b/Project/adminBlazor/adminBlazor/Pages/AddUser.razor similarity index 99% rename from Project/adminBlazor/adminBlazor/Pages/Add.razor rename to Project/adminBlazor/adminBlazor/Pages/AddUser.razor index 5daf3fe..6d2acb7 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Add.razor +++ b/Project/adminBlazor/adminBlazor/Pages/AddUser.razor @@ -1,4 +1,4 @@ -@page "/add" +@page "/addUser" @attribute [Authorize(Roles = "admin")] @using adminBlazor.Models

Add

diff --git a/Project/adminBlazor/adminBlazor/Pages/Add.razor.cs b/Project/adminBlazor/adminBlazor/Pages/AddUser.razor.cs similarity index 99% rename from Project/adminBlazor/adminBlazor/Pages/Add.razor.cs rename to Project/adminBlazor/adminBlazor/Pages/AddUser.razor.cs index 08ea9bd..1776ecd 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Add.razor.cs +++ b/Project/adminBlazor/adminBlazor/Pages/AddUser.razor.cs @@ -7,7 +7,7 @@ using adminBlazor.Services; namespace adminBlazor.Pages { - public partial class Add + public partial class AddUser { [Inject] public NavigationManager NavigationManager { get; set; } diff --git a/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor b/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor new file mode 100644 index 0000000..40de7ad --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor @@ -0,0 +1,44 @@ +@page "/addVoc" +@attribute [Authorize(Roles = "teacher")] +@using adminBlazor.Models +@using Blazorise.Extensions +

Add Vocabulary List

+ + + + + +

+ +

+

Words:

+ @if (voc.Translations.IsNullOrEmpty() == false) + { + foreach (var word in voc.Translations) + { + { +
+ + +
+ + } + } + } + else + { +

No words

+ } + + +
diff --git a/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor.cs b/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor.cs new file mode 100644 index 0000000..f1b85c0 --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Pages/AddVoc.razor.cs @@ -0,0 +1,40 @@ +using Blazored.LocalStorage; +using Microsoft.AspNetCore.Components.Forms; +using Microsoft.AspNetCore.Components; +using adminBlazor.Models; +using Microsoft.AspNetCore.Mvc.RazorPages; +using adminBlazor.Services; + +namespace adminBlazor.Pages +{ + public partial class AddVoc + { + [Inject] public NavigationManager NavigationManager { get; set; } + + [Inject] public IVocListService VocService { get; set; } + + private VocabularyListModel voc = new VocabularyListModel(); + + private async void HandleValidSubmit() + { + voc.Translations ??= new List(); + await VocService.Add(voc); + + NavigationManager.NavigateTo("voc"); + } + + private void AddWord() + { + if (voc.Translations == null) + { + voc.Translations = new List(); + } + voc.Translations.Add(new TranslationModel()); + } + + private void RemoveWord(TranslationModel word) + { + voc.Translations.Remove(word); + } + } +} \ No newline at end of file diff --git a/Project/adminBlazor/adminBlazor/Pages/List.razor b/Project/adminBlazor/adminBlazor/Pages/List.razor index 7cce683..5c2512e 100644 --- a/Project/adminBlazor/adminBlazor/Pages/List.razor +++ b/Project/adminBlazor/adminBlazor/Pages/List.razor @@ -11,7 +11,7 @@

List

- Ajouter + Ajouter

Vocabulary Lists

+
+ Ajouter +
+