Löschen-Funktions mit Bestätigungsdialog eingebaut
This commit is contained in:
parent
5155d875c3
commit
fb7f7e74ea
@ -19,12 +19,26 @@
|
|||||||
@foreach (Cocktail c in CocktailListe)
|
@foreach (Cocktail c in CocktailListe)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td class="p-0"><img src="@c.ImageURL" style="max-height:40px;" /></td>
|
<td class="p-0" style="width:64px"><img src="@c.ImageURL" style="max-width:100%; max-height:auto;" /></td>
|
||||||
<td>@c.Name</td>
|
<td style="vertical-align:middle;">@c.Name</td>
|
||||||
<td> <a class="btn btn-primary" href="/settings/cocktails/edit/@c.Id">Bearbeiten</a></td>
|
<td style="text-align:right; vertical-align:middle;" >
|
||||||
|
<a class="btn btn-primary" href="/settings/cocktails/edit/@c.Id">Bearbeiten</a>
|
||||||
|
<button name="submit" type="submit" class="btn btn-outline-danger" @onclick="() => ConfirmDelete(c)">Löschen</button>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<ModalComponent @ref="modal">
|
||||||
|
<Title>Löschen bestätigen</Title>
|
||||||
|
<Body>
|
||||||
|
Willst du den Cocktail wirklich löschen?
|
||||||
|
</Body>
|
||||||
|
<Footer>
|
||||||
|
<button class="btn btn-danger" @onclick="DeleteCocktail">Jo</button>
|
||||||
|
<button class="btn btn-primary" @onclick="CloseDialog">Nee</button>
|
||||||
|
</Footer>
|
||||||
|
</ModalComponent>
|
||||||
@ -10,6 +10,8 @@ namespace CocktailWeb.Pages.Settings
|
|||||||
public partial class Cocktails
|
public partial class Cocktails
|
||||||
{
|
{
|
||||||
private DbDataContext? _DataContext;
|
private DbDataContext? _DataContext;
|
||||||
|
private ModalComponent modal = null!;
|
||||||
|
private Cocktail? SelectedCocktail;
|
||||||
|
|
||||||
private List<Cocktail> CocktailListe { get; set; } = new();
|
private List<Cocktail> CocktailListe { get; set; } = new();
|
||||||
|
|
||||||
@ -26,5 +28,31 @@ namespace CocktailWeb.Pages.Settings
|
|||||||
CocktailListe = await _DataContext.Cocktails.OrderBy(f => f.Name).ToListAsync();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user