diff --git a/CocktailWeb/Pages/Settings/Cocktails.razor b/CocktailWeb/Pages/Settings/Cocktails.razor index 96b4612..e4b2d5f 100644 --- a/CocktailWeb/Pages/Settings/Cocktails.razor +++ b/CocktailWeb/Pages/Settings/Cocktails.razor @@ -19,12 +19,26 @@ @foreach (Cocktail c in CocktailListe) { - - @c.Name - Bearbeiten + + @c.Name + + Bearbeiten + + } - \ No newline at end of file + + + + Löschen bestätigen + + Willst du den Cocktail wirklich löschen? + + + \ No newline at end of file diff --git a/CocktailWeb/Pages/Settings/Cocktails.razor.cs b/CocktailWeb/Pages/Settings/Cocktails.razor.cs index 205c270..1ab687e 100644 --- a/CocktailWeb/Pages/Settings/Cocktails.razor.cs +++ b/CocktailWeb/Pages/Settings/Cocktails.razor.cs @@ -10,6 +10,8 @@ namespace CocktailWeb.Pages.Settings public partial class Cocktails { private DbDataContext? _DataContext; + private ModalComponent modal = null!; + private Cocktail? SelectedCocktail; private List CocktailListe { get; set; } = new(); @@ -26,5 +28,31 @@ namespace CocktailWeb.Pages.Settings CocktailListe = await _DataContext.Cocktails.OrderBy(f => f.Name).ToListAsync(); } } + + private async Task ConfirmDelete(Cocktail c) + { + SelectedCocktail = c; + await modal.OpenModal(); + } + + private async Task CloseDialog() + { + SelectedCocktail = null; + await modal.Close(); + } + private async Task DeleteCocktail(MouseEventArgs e) + { + if (SelectedCocktail != null) + { + _DataContext ??= await DataContextFactory.CreateDbContextAsync(); + if (_DataContext != null) + { + _DataContext.Cocktails.Remove(SelectedCocktail); + await _DataContext.SaveChangesAsync(); + await ShowCocktails(); + } + } + await CloseDialog(); + } } }