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 @@
-
-
+
-
-
-
+
\ 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))
{
-
+
}
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
+
+
+ Inventory
+
+
Home