From 7d41d42d51c83daaa4a69cd821ed819b7d32f688 Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Fri, 18 Nov 2022 15:22:09 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20du=20projet=20!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BlazorApp/BlazorApp/Components/Crafting.razor | 7 +-- .../BlazorApp/Components/Crafting.razor.js | 28 ++++----- .../Components/CraftingItem.razor.cs | 9 +-- BlazorApp/BlazorApp/Factories/ItemFactory.cs | 4 +- BlazorApp/BlazorApp/Pages/Edit.razor | 10 +-- BlazorApp/BlazorApp/Pages/Edit.razor.cs | 5 -- BlazorApp/BlazorApp/Pages/Index.razor | 2 +- BlazorApp/BlazorApp/Pages/Index.razor.cs | 42 +++---------- BlazorApp/BlazorApp/Pages/Inventory.razor | 37 +++++++++++ BlazorApp/BlazorApp/Pages/Inventory.razor.cs | 11 ++++ BlazorApp/BlazorApp/Pages/Inventory.razor.css | 6 ++ BlazorApp/BlazorApp/Pages/List.razor | 4 +- BlazorApp/BlazorApp/Program.cs | 2 +- .../BlazorApp/Services/DataApiService.cs | 61 +++++++++++++++++++ BlazorApp/BlazorApp/Shared/NavMenu.razor | 5 ++ 15 files changed, 155 insertions(+), 78 deletions(-) create mode 100644 BlazorApp/BlazorApp/Pages/Inventory.razor create mode 100644 BlazorApp/BlazorApp/Pages/Inventory.razor.cs create mode 100644 BlazorApp/BlazorApp/Pages/Inventory.razor.css create mode 100644 BlazorApp/BlazorApp/Services/DataApiService.cs diff --git a/BlazorApp/BlazorApp/Components/Crafting.razor b/BlazorApp/BlazorApp/Components/Crafting.razor index 42dd978..b1a79b6 100644 --- a/BlazorApp/BlazorApp/Components/Crafting.razor +++ b/BlazorApp/BlazorApp/Components/Crafting.razor @@ -1,5 +1,4 @@ - - +
@@ -49,6 +48,4 @@
-
- - +
\ No newline at end of file diff --git a/BlazorApp/BlazorApp/Components/Crafting.razor.js b/BlazorApp/BlazorApp/Components/Crafting.razor.js index f222938..8fdb58e 100644 --- a/BlazorApp/BlazorApp/Components/Crafting.razor.js +++ b/BlazorApp/BlazorApp/Components/Crafting.razor.js @@ -1,20 +1,16 @@ - \ No newline at end of file +} \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Components/CraftingItem.razor.cs b/BlazorApp/BlazorApp/Components/CraftingItem.razor.cs index 5893a1f..ae58e14 100644 --- a/BlazorApp/BlazorApp/Components/CraftingItem.razor.cs +++ b/BlazorApp/BlazorApp/Components/CraftingItem.razor.cs @@ -1,10 +1,10 @@ -using System; +using BlazorApp.Components; using BlazorApp.Models; -using Blazorise; using Microsoft.AspNetCore.Components; namespace BlazorApp.Components { + public partial class CraftingItem { [Parameter] @@ -62,7 +62,4 @@ namespace BlazorApp.Components Parent.Actions.Add(new CraftingAction { Action = "Drag Start", Item = this.Item, Index = this.Index }); } } -} - - - +} \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Factories/ItemFactory.cs b/BlazorApp/BlazorApp/Factories/ItemFactory.cs index c58fa10..6eaa10b 100644 --- a/BlazorApp/BlazorApp/Factories/ItemFactory.cs +++ b/BlazorApp/BlazorApp/Factories/ItemFactory.cs @@ -33,7 +33,8 @@ namespace BlazorApp.Factories EnchantCategories = model.EnchantCategories, MaxDurability = model.MaxDurability, StackSize = model.StackSize, - CreatedDate = DateTime.Now + CreatedDate = DateTime.Now, + ImageBase64 = Convert.ToBase64String(model.ImageContent) }; } @@ -46,6 +47,7 @@ namespace BlazorApp.Factories item.MaxDurability = model.MaxDurability; item.StackSize = model.StackSize; item.UpdatedDate = DateTime.Now; + item.ImageBase64 = Convert.ToBase64String(model.ImageContent); } } diff --git a/BlazorApp/BlazorApp/Pages/Edit.razor b/BlazorApp/BlazorApp/Pages/Edit.razor index 74d3978..878a5ca 100644 --- a/BlazorApp/BlazorApp/Pages/Edit.razor +++ b/BlazorApp/BlazorApp/Pages/Edit.razor @@ -55,14 +55,8 @@

diff --git a/BlazorApp/BlazorApp/Pages/Edit.razor.cs b/BlazorApp/BlazorApp/Pages/Edit.razor.cs index 7d1abe1..3dbaa1f 100644 --- a/BlazorApp/BlazorApp/Pages/Edit.razor.cs +++ b/BlazorApp/BlazorApp/Pages/Edit.razor.cs @@ -46,11 +46,6 @@ namespace BlazorApp.Pages var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.png"); - if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{itemModel.Name}.png")) - { - fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/{item.Name}.png"); - } - // Set the model with the item itemModel = ItemFactory.ToModel(item, fileContent); } diff --git a/BlazorApp/BlazorApp/Pages/Index.razor b/BlazorApp/BlazorApp/Pages/Index.razor index 5deb450..7ae5c1c 100644 --- a/BlazorApp/BlazorApp/Pages/Index.razor +++ b/BlazorApp/BlazorApp/Pages/Index.razor @@ -4,7 +4,7 @@ Index -

Hello, world!

+

Bonjour, monde!

+ \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Pages/Inventory.razor.cs b/BlazorApp/BlazorApp/Pages/Inventory.razor.cs new file mode 100644 index 0000000..876e667 --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/Inventory.razor.cs @@ -0,0 +1,11 @@ +using System; +using BlazorApp.Components; + +namespace BlazorApp.Pages +{ + public partial class Inventory + { + + } +} + diff --git a/BlazorApp/BlazorApp/Pages/Inventory.razor.css b/BlazorApp/BlazorApp/Pages/Inventory.razor.css new file mode 100644 index 0000000..1b5ace6 --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/Inventory.razor.css @@ -0,0 +1,6 @@ +.css-grid { + grid-template-columns: repeat(6,minmax(0,1fr)); + gap: 10px; + display: grid; + width: 40%; +} diff --git a/BlazorApp/BlazorApp/Pages/List.razor b/BlazorApp/BlazorApp/Pages/List.razor index 9fc6239..83da396 100644 --- a/BlazorApp/BlazorApp/Pages/List.razor +++ b/BlazorApp/BlazorApp/Pages/List.razor @@ -53,9 +53,9 @@ - @if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{context.Name}.png")) + @if (!string.IsNullOrWhiteSpace(context.ImageBase64)) { - @context.DisplayName + @context.DisplayName } else { diff --git a/BlazorApp/BlazorApp/Program.cs b/BlazorApp/BlazorApp/Program.cs index a981be2..77f260e 100644 --- a/BlazorApp/BlazorApp/Program.cs +++ b/BlazorApp/BlazorApp/Program.cs @@ -25,7 +25,7 @@ builder.Services builder.Services.AddBlazoredLocalStorage(); -builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddBlazoredModal(); diff --git a/BlazorApp/BlazorApp/Services/DataApiService.cs b/BlazorApp/BlazorApp/Services/DataApiService.cs new file mode 100644 index 0000000..51cc446 --- /dev/null +++ b/BlazorApp/BlazorApp/Services/DataApiService.cs @@ -0,0 +1,61 @@ +using System; +using BlazorApp.Components; +using BlazorApp.Factories; +using BlazorApp.Models; + +namespace BlazorApp.Services +{ + public class DataApiService : IDataService + { + private readonly HttpClient _http; + + public DataApiService( + HttpClient http) + { + _http = http; + } + + public async Task Add(ItemModel model) + { + // Get the item + var item = ItemFactory.Create(model); + + // Save the data + await _http.PostAsJsonAsync("https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/", item); + } + + public async Task Count() + { + return await _http.GetFromJsonAsync("https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/count"); + } + + public async Task> List(int currentPage, int pageSize) + { + return await _http.GetFromJsonAsync>($"https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/?currentPage={currentPage}&pageSize={pageSize}"); + } + + public async Task GetById(int id) + { + return await _http.GetFromJsonAsync($"https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/{id}"); + } + + public async Task Update(int id, ItemModel model) + { + // Get the item + var item = ItemFactory.Create(model); + + await _http.PutAsJsonAsync($"https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/{id}", item); + } + + public async Task Delete(int id) + { + await _http.DeleteAsync($"https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/Crafting/{id}"); + } + + public async Task> GetRecipes() + { + return await _http.GetFromJsonAsync>("https://codefirst.iut.uca.fr/containers/container-blazor-web-api-julienriboulet/api/Crafting/recipe"); + } + } +} + diff --git a/BlazorApp/BlazorApp/Shared/NavMenu.razor b/BlazorApp/BlazorApp/Shared/NavMenu.razor index 126f4bf..c97ace3 100644 --- a/BlazorApp/BlazorApp/Shared/NavMenu.razor +++ b/BlazorApp/BlazorApp/Shared/NavMenu.razor @@ -14,6 +14,11 @@ List +