diff --git a/Project/adminBlazor/adminBlazor/App.razor b/Project/adminBlazor/adminBlazor/App.razor
index 60f5744..09ed54d 100644
--- a/Project/adminBlazor/adminBlazor/App.razor
+++ b/Project/adminBlazor/adminBlazor/App.razor
@@ -1,13 +1,14 @@
-
-
-
-
-
-
- Not found
-
-
Sorry, there's nothing at this address.
-
-
-
-
+
+
+
+
+
+
+
+ Not found
+
+
Sorry, there's nothing at this address.
+
+
+
+
\ No newline at end of file
diff --git a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor b/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor
new file mode 100644
index 0000000..edba1e0
--- /dev/null
+++ b/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor
@@ -0,0 +1,10 @@
+
+
+
+ Are you sure you want to delete @item.Name ?
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs b/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs
new file mode 100644
index 0000000..72c5c5d
--- /dev/null
+++ b/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs
@@ -0,0 +1,38 @@
+using Microsoft.AspNetCore.Components;
+using Blazored.Modal;
+using Blazored.Modal.Services;
+using adminBlazor.Services;
+using adminBlazor.Models;
+
+namespace adminBlazor.Modals
+{
+ public partial class DeleteConfirmation
+ {
+ [CascadingParameter]
+ public BlazoredModalInstance ModalInstance { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Parameter]
+ public int Id { get; set; }
+
+ private User item = new User();
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Get the item
+ item = await DataService.GetById(Id);
+ }
+
+ void ConfirmDelete()
+ {
+ ModalInstance.CloseAsync(ModalResult.Ok(true));
+ }
+
+ void Cancel()
+ {
+ ModalInstance.CancelAsync();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Project/adminBlazor/adminBlazor/Pages/List.razor b/Project/adminBlazor/adminBlazor/Pages/List.razor
index abc232b..d323583 100644
--- a/Project/adminBlazor/adminBlazor/Pages/List.razor
+++ b/Project/adminBlazor/adminBlazor/Pages/List.razor
@@ -49,9 +49,9 @@
Editer
+
-
-
+
diff --git a/Project/adminBlazor/adminBlazor/Pages/List.razor.cs b/Project/adminBlazor/adminBlazor/Pages/List.razor.cs
index f33cd41..a3b3137 100644
--- a/Project/adminBlazor/adminBlazor/Pages/List.razor.cs
+++ b/Project/adminBlazor/adminBlazor/Pages/List.razor.cs
@@ -6,6 +6,9 @@ using adminBlazor.Models;
using System.Net.Http;
using System.Net.Http.Json;
using adminBlazor.Services;
+using Blazored.Modal.Services;
+using Blazored.Modal;
+using adminBlazor.Modals;
namespace adminBlazor.Pages
{
@@ -24,6 +27,12 @@ namespace adminBlazor.Pages
[Inject]
public NavigationManager NavigationManager { get; set; }
+ [CascadingParameter]
+ public IModalService Modal { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@@ -61,6 +70,25 @@ namespace adminBlazor.Pages
_users = new List(response); // an actual data for the current page
}
}
+
+ private async void OnDelete(int id)
+ {
+ var parameters = new ModalParameters();
+ parameters.Add("Id", id);
+
+ var modal = Modal.Show("Delete Confirmation", parameters);
+ var result = await modal.Result;
+
+ if (result.Cancelled)
+ {
+ return;
+ }
+
+ await DataService.Delete(id);
+
+ // Reload the page
+ NavigationManager.NavigateTo("list", true);
+ }
}
}
\ No newline at end of file
diff --git a/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml b/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
index b08ae42..3afb6b6 100644
--- a/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
+++ b/Project/adminBlazor/adminBlazor/Pages/_Host.cshtml
@@ -12,7 +12,8 @@
-
+
+
@@ -30,6 +31,7 @@
+