From 439857120077ed800f1faa3606a6c81fb6267a4b Mon Sep 17 00:00:00 2001
From: Antoine Jourdain
Date: Fri, 16 Feb 2024 23:56:09 +0100
Subject: [PATCH] =?UTF-8?q?D=C3=A9blayage=20pour=20taff?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../adminBlazor/Factories/VocListFactory.cs | 12 +++++++-----
.../adminBlazor/Models/VocabularyList.cs | 4 +++-
.../adminBlazor/Models/VocabularyListModel.cs | 4 +++-
.../adminBlazor/adminBlazor/Pages/EditVoc.razor | 8 --------
.../adminBlazor/Pages/EditVoc.razor.cs | 15 ++++++++++++++-
.../adminBlazor/adminBlazor/Pages/_Host.cshtml | 1 +
Project/adminBlazor/adminBlazor/wwwroot/voc.json | 14 ++++++++++++--
7 files changed, 40 insertions(+), 18 deletions(-)
diff --git a/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs b/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs
index 2c36cd0..db120a7 100644
--- a/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs
+++ b/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs
@@ -9,14 +9,15 @@ namespace adminBlazor.Factories
{
public static class VocListFactory
{
- public static VocabularyListModel ToModel(VocabularyList voc)
+ public static VocabularyListModel ToModel(VocabularyList voc, byte[] imageContent)
{
return new VocabularyListModel
{
Id = voc.Id,
Name = voc.Name,
Image = voc.Image,
- Aut = voc.Aut
+ Aut = voc.Aut,
+ ImageBase64 = string.IsNullOrWhiteSpace(voc.ImageBase64) ? Convert.ToBase64String(imageContent) : voc.ImageBase64
};
}
@@ -27,7 +28,8 @@ namespace adminBlazor.Factories
Id = voc.Id,
Name = voc.Name,
Image = voc.Image,
- Aut = voc.Aut
+ Aut = voc.Aut,
+ ImageBase64 = voc.Image != null ? Convert.ToBase64String(voc.Image) : null
};
}
public static void Update(VocabularyList item, VocabularyListModel voc)
@@ -35,8 +37,8 @@ namespace adminBlazor.Factories
if (!string.IsNullOrEmpty(voc.Name))
item.Name = voc.Name;
- if (!string.IsNullOrEmpty(voc.Image))
- item.Image = voc.Image;
+ if (voc.ImageBase64 != null && voc.Image != null)
+ item.ImageBase64 = Convert.ToBase64String(voc.Image);
}
}
diff --git a/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs b/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs
index 28d4de7..1146ef1 100644
--- a/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs
+++ b/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs
@@ -5,8 +5,10 @@ namespace adminBlazor.Models
{
public int Id { get; set; }
public string Name { get; set; }
- public string Image { get; set; }
+ public byte[] Image { get; set; }
public int? Aut { get; set; }
+
+ public string? ImageBase64 { get; set; }
}
}
diff --git a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs
index 680e5e9..82ed127 100644
--- a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs
+++ b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs
@@ -10,9 +10,11 @@ namespace adminBlazor.Models
public string Name { get; set; }
- public string Image { get; set; }
+ public byte[] Image { get; set; }
public int? Aut { get; set; }
+
+ public string ImageBase64 { get; set; }
}
}
diff --git a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor
index 323033d..24c887f 100644
--- a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor
+++ b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor
@@ -17,13 +17,5 @@
-
-
-
-
\ No newline at end of file
diff --git a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor.cs b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor.cs
index a46d330..ee6dfa0 100644
--- a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor.cs
+++ b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor.cs
@@ -3,6 +3,7 @@ using adminBlazor.Models;
using adminBlazor.Services;
using Blazored.LocalStorage;
using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Hosting;
@@ -32,13 +33,25 @@ namespace adminBlazor.Pages
NavigationManager.NavigateTo("list");
}
+
+ 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);
+ voc.Image = memoryStream.ToArray();
+ }
+ }
protected async Task OnInitializedAsync()
{
var item = await VocListService.GetById(Id);
- voc = VocListFactory.ToModel(item);
+ var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.jpeg");
+
+ voc = VocListFactory.ToModel(item,fileContent);
}
}
}
diff --git a/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml b/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
index 4b42af6..0544600 100644
--- a/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
+++ b/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
@@ -1,5 +1,6 @@
@page "/"
@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.AspNetCore.Mvc.TagHelpers
@namespace adminBlazor.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
diff --git a/Project/adminBlazor/adminBlazor/wwwroot/voc.json b/Project/adminBlazor/adminBlazor/wwwroot/voc.json
index fb1e289..22145e7 100644
--- a/Project/adminBlazor/adminBlazor/wwwroot/voc.json
+++ b/Project/adminBlazor/adminBlazor/wwwroot/voc.json
@@ -3,12 +3,22 @@
"id": 1,
"name": "Entreprise",
"image": "link",
- "aut": null
+ "aut": null,
+ "words" : [{
+ "id": 1,
+ "firstWord" : "baguette",
+ "secondWord" : "pain"
+ }]
},
{
"id": 2,
"name": "Animaux",
"image": "link",
- "aut" : 1
+ "aut" : 1,
+ "words": [{
+ "id": 1,
+ "firstWord" : "baguette",
+ "secondWord" : "pain"
+ }]
}
]
\ No newline at end of file