From 0e9a1c6a2fedf4062987250e77665d2ac65979f0 Mon Sep 17 00:00:00 2001 From: Darius Date: Sat, 10 Dec 2022 10:18:07 +0100 Subject: [PATCH] commencement add --- ProjetBlazor/Pages/AddMusique.razor | 61 ++++++++++++++ ProjetBlazor/Pages/AddMusique.razor.cs | 106 +++++++++++++++++++++++++ ProjetBlazor/Pages/MusiquesListe.razor | 2 +- 3 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 ProjetBlazor/Pages/AddMusique.razor create mode 100644 ProjetBlazor/Pages/AddMusique.razor.cs diff --git a/ProjetBlazor/Pages/AddMusique.razor b/ProjetBlazor/Pages/AddMusique.razor new file mode 100644 index 0000000..52e739c --- /dev/null +++ b/ProjetBlazor/Pages/AddMusique.razor @@ -0,0 +1,61 @@ +@page "/AddMusique" + + + +

AddMusique

+ + + + + + +

+ +

+ +

+ +

+ +

+ +

+ +

+ +

+ +

+ +

+ + + +

+ +

+ + + +
diff --git a/ProjetBlazor/Pages/AddMusique.razor.cs b/ProjetBlazor/Pages/AddMusique.razor.cs new file mode 100644 index 0000000..4e88da6 --- /dev/null +++ b/ProjetBlazor/Pages/AddMusique.razor.cs @@ -0,0 +1,106 @@ +using Microsoft.AspNetCore.Components.Forms; +using Microsoft.AspNetCore.Components; +using ProjetBlazor.Services; +using ProjetBlazor.Modeles; + +namespace ProjetBlazor.Pages +{ + public partial class AddMusique + { + private MusiqueModel musiqueModele = new MusiqueModel(); + + [Inject] + public IWebHostEnvironment WebHostEnvironment { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + [Inject] + public IDataService DataService { get; set; } + + private async void HandleValidSubmit() + { + var currentData = await LocalStorage.GetItemAsync>("data"); + + // Simulate the Id + itemModel.Id = currentData.Max(s => s.Id) + 1; + + // Add the item to the current data + currentData.Add(new Item + { + Id = MusiqueModel.id, + Titre = MusiqueModel.DisplayName, + Auteur = MusiqueModel.Name, + Duree = MusiqueModel.RepairWith, + Genre = MusiqueModel.EnchantCategories, + Image = MusiqueModel.MaxDurability, + Date = + }); + + // Save the image + var imagePathInfo = new DirectoryInfo($"{WebHostEnvironment.WebRootPath}/images"); + + // Check if the folder "images" exist + if (!imagePathInfo.Exists) + { + imagePathInfo.Create(); + } + + // Determine the image name + var fileName = new FileInfo($"{imagePathInfo}/{itemModel.Name}.png"); + + // Write the file content + await File.WriteAllBytesAsync(fileName.FullName, itemModel.ImageContent); + + // Save the data + await LocalStorage.SetItemAsync("data", currentData); + } + + private async Task LoadImage(InputFileChangeEventArgs e) + { + // Set the content of the image to the model + using (var memoryStream = new MemoryStream()) + { + await e.File.OpenReadStream().CopyToAsync(memoryStream); + itemModel.ImageContent = memoryStream.ToArray(); + } + } + + private void OnEnchantCategoriesChange(string item, object checkedValue) + { + if ((bool)checkedValue) + { + if (!itemModel.EnchantCategories.Contains(item)) + { + itemModel.EnchantCategories.Add(item); + } + + return; + } + + if (itemModel.EnchantCategories.Contains(item)) + { + itemModel.EnchantCategories.Remove(item); + } + } + + private void OnRepairWithChange(string item, object checkedValue) + { + if ((bool)checkedValue) + { + if (!itemModel.RepairWith.Contains(item)) + { + itemModel.RepairWith.Add(item); + } + + return; + } + + if (itemModel.RepairWith.Contains(item)) + { + itemModel.RepairWith.Remove(item); + } + } + + } +} diff --git a/ProjetBlazor/Pages/MusiquesListe.razor b/ProjetBlazor/Pages/MusiquesListe.razor index a01078b..044986e 100644 --- a/ProjetBlazor/Pages/MusiquesListe.razor +++ b/ProjetBlazor/Pages/MusiquesListe.razor @@ -7,7 +7,7 @@
- + Ajouter