diff --git a/ProjetBlazor/App.razor b/ProjetBlazor/App.razor
index 6fd3ed1..383d5a5 100644
--- a/ProjetBlazor/App.razor
+++ b/ProjetBlazor/App.razor
@@ -1,12 +1,14 @@
-
-
-
-
-
-
- Not found
-
+
+
+
+
+
+
+
+ Not found
+
Sorry, there's nothing at this address.
-
-
-
+
+
+
+
diff --git a/ProjetBlazor/Modals/DeleteConfirmation.razor b/ProjetBlazor/Modals/DeleteConfirmation.razor
new file mode 100644
index 0000000..dce375a
--- /dev/null
+++ b/ProjetBlazor/Modals/DeleteConfirmation.razor
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/ProjetBlazor/Modals/DeleteConfirmation.razor.cs b/ProjetBlazor/Modals/DeleteConfirmation.razor.cs
new file mode 100644
index 0000000..52308a8
--- /dev/null
+++ b/ProjetBlazor/Modals/DeleteConfirmation.razor.cs
@@ -0,0 +1,38 @@
+using Blazored.Modal.Services;
+using Blazored.Modal;
+using Microsoft.AspNetCore.Components;
+using ProjetBlazor.Services;
+using ProjetBlazor.Modeles;
+
+namespace ProjetBlazor.Modals
+{
+ public partial class DeleteConfirmation
+ {
+ [CascadingParameter]
+ public BlazoredModalInstance ModalInstance { get; set; }
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Parameter]
+ public int Id { get; set; }
+
+ private Musique musique = new Musique();
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Get the musique
+ musique = await DataService.GetById(Id);
+ }
+
+ void ConfirmDelete()
+ {
+ ModalInstance.CloseAsync(ModalResult.Ok(true));
+ }
+
+ void Cancel()
+ {
+ ModalInstance.CancelAsync();
+ }
+ }
+}
diff --git a/ProjetBlazor/Pages/MusiquesListe.razor.cs b/ProjetBlazor/Pages/MusiquesListe.razor.cs
index f671416..8dc48a8 100644
--- a/ProjetBlazor/Pages/MusiquesListe.razor.cs
+++ b/ProjetBlazor/Pages/MusiquesListe.razor.cs
@@ -1,6 +1,9 @@
-using Blazorise.DataGrid;
+using Blazored.Modal;
+using Blazored.Modal.Services;
+using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
+using ProjetBlazor.Modals;
using ProjetBlazor.Modeles;
using ProjetBlazor.Services;
@@ -24,6 +27,8 @@ namespace ProjetBlazor.Pages
[Inject]
public NavigationManager NavigationManager { get; set; }
+ [CascadingParameter]
+ public IModalService Modal { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs e)
{
@@ -38,13 +43,26 @@ namespace ProjetBlazor.Pages
}
}
- private async Task OnDelete(int id)
+
+ private async void OnDelete(int id)
{
+ var parameters = new ModalParameters();
+ parameters.Add(nameof(Musique.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("MusiquesListe",true);
+ NavigationManager.NavigateTo("list", true);
}
-
+
}
+
}
diff --git a/ProjetBlazor/Pages/_Layout.cshtml b/ProjetBlazor/Pages/_Layout.cshtml
index a853866..f5b2802 100644
--- a/ProjetBlazor/Pages/_Layout.cshtml
+++ b/ProjetBlazor/Pages/_Layout.cshtml
@@ -11,6 +11,7 @@
+
@@ -32,5 +33,6 @@
+