@@ -21,6 +22,7 @@
Editer
+
diff --git a/Blazor/Blazor/Pages/Chapters.razor.cs b/Blazor/Blazor/Pages/Chapters.razor.cs
index 2dd498f..bb9c476 100644
--- a/Blazor/Blazor/Pages/Chapters.razor.cs
+++ b/Blazor/Blazor/Pages/Chapters.razor.cs
@@ -2,8 +2,10 @@
using Blazor.Models;
using Blazorise.DataGrid;
using Blazored.LocalStorage;
-using Blazorise;
using Blazor.Services;
+using Blazor.Modals;
+using Blazored.Modal;
+using Blazored.Modal.Services;
namespace Blazor.Pages
{
@@ -13,6 +15,12 @@ namespace Blazor.Pages
private int totalItem;
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [CascadingParameter]
+ public IModalService Modal { get; set; }
+
[Inject]
public IDataService DataService { get; set; }
@@ -32,5 +40,26 @@ namespace Blazor.Pages
totalItem = await DataService.Count();
}
}
+
+
+ private async void OnDelete(int id)
+ {
+ var parameters = new ModalParameters();
+ parameters.Add(nameof(Chapter.Id), id);
+
+ var modal = Modal.Show
("Delete Confirmation", parameters);
+ var result = modal.Result;
+
+ if (result.IsCanceled)
+ {
+ return;
+ }
+
+ await DataService.Delete(id);
+
+ // Reload the page
+ NavigationManager.NavigateTo("chapters", true);
+ }
+
}
}
diff --git a/Blazor/Blazor/Pages/_Layout.cshtml b/Blazor/Blazor/Pages/_Layout.cshtml
new file mode 100644
index 0000000..c993101
--- /dev/null
+++ b/Blazor/Blazor/Pages/_Layout.cshtml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blazor/Blazor/Program.cs b/Blazor/Blazor/Program.cs
index 2d9e404..c97103c 100644
--- a/Blazor/Blazor/Program.cs
+++ b/Blazor/Blazor/Program.cs
@@ -6,6 +6,7 @@ using Blazorise.Bootstrap;
using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
+using Blazored.Modal;
var builder = WebApplication.CreateBuilder(args);
@@ -23,6 +24,9 @@ builder.Services
builder.Services.AddBlazoredLocalStorage();
+builder.Services.AddBlazoredModal();
+
+
builder.Services.AddScoped();
var app = builder.Build();
diff --git a/Blazor/Blazor/Services/DataLocalService.cs b/Blazor/Blazor/Services/DataLocalService.cs
index 37c6ea2..9df1ada 100644
--- a/Blazor/Blazor/Services/DataLocalService.cs
+++ b/Blazor/Blazor/Services/DataLocalService.cs
@@ -82,6 +82,22 @@ namespace Blazor.Services
await _localStorage.SetItemAsync("data", currentData);
}
+ public async Task Delete(int id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the chapter int the list
+ var chapter = currentData.FirstOrDefault(w => w.Id == id);
+
+ // Delete chapter in
+ currentData.Remove(chapter);
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+
public async Task Count()
{
diff --git a/Blazor/Blazor/Services/IDataService.cs b/Blazor/Blazor/Services/IDataService.cs
index 5a6bd6c..221b3fa 100644
--- a/Blazor/Blazor/Services/IDataService.cs
+++ b/Blazor/Blazor/Services/IDataService.cs
@@ -13,5 +13,7 @@ namespace Blazor.Services
Task GetById(int id);
Task Update(int id, ChapterModel model);
+
+ Task Delete(int id);
}
}
diff --git a/Blazor/Blazor/_Imports.razor b/Blazor/Blazor/_Imports.razor
index 9665bbe..b92adac 100644
--- a/Blazor/Blazor/_Imports.razor
+++ b/Blazor/Blazor/_Imports.razor
@@ -9,4 +9,6 @@
@using Blazor
@using Blazor.Shared
@using Blazorise.DataGrid
+@using Blazored.Modal
+@using Blazored.Modal.Services