diff --git a/Tv7Playlist/Controllers/PlaylistEntryController.cs b/Tv7Playlist/Controllers/PlaylistEntryController.cs index 429b088..b019b85 100644 --- a/Tv7Playlist/Controllers/PlaylistEntryController.cs +++ b/Tv7Playlist/Controllers/PlaylistEntryController.cs @@ -1,9 +1,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; -using Tv7Playlist.Core; using Tv7Playlist.Data; -using Tv7Playlist.Models; namespace Tv7Playlist.Controllers { @@ -31,7 +29,7 @@ namespace Tv7Playlist.Controllers [HttpPost] [ValidateAntiForgeryToken] public async Task Edit(Guid id, PlaylistEntry updatedEntry) - //[Bind("PlaylistEntry.Id,PlaylistEntry.Position,PlaylistEntry.TrackNumberOverride,PlaylistEntry.NameOverride,PlaylistEntry.IsEnabled")] + //[Bind("PlaylistEntry.Id,PlaylistEntry.Position,PlaylistEntry.TrackNumberOverride,PlaylistEntry.NameOverride,PlaylistEntry.IsEnabled")] { if (updatedEntry == null) return NotFound(); @@ -56,5 +54,35 @@ namespace Tv7Playlist.Controllers return View(updatedEntry); } + + + [HttpGet] + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public async Task Delete(Guid? id) + { + if (id == null) return NotFound(); + + var entry = await _playlistContext.PlaylistEntries.FindAsync(id); + if (entry == null) return NotFound(); + + return View(entry); + } + + [HttpPost] + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + [ValidateAntiForgeryToken] + public async Task DeleteConfirmed(Guid? id) + { + if (id == null) return NotFound(); + + var entry = await _playlistContext.PlaylistEntries.FindAsync(id); + if (entry == null) return NotFound(); + + _playlistContext.PlaylistEntries.Remove(entry); + + await _playlistContext.SaveChangesAsync(); + + return RedirectToAction("Index", "Home"); + } } } \ No newline at end of file diff --git a/Tv7Playlist/Views/Home/Index.cshtml b/Tv7Playlist/Views/Home/Index.cshtml index 2a0e058..d6ec736 100644 --- a/Tv7Playlist/Views/Home/Index.cshtml +++ b/Tv7Playlist/Views/Home/Index.cshtml @@ -25,7 +25,10 @@ foreach (var track in Model.PlaylistEntries) { - Edit + + Edit + Delete + @track.ChannelNumberImport @track.ChannelNumberExport @track.Position diff --git a/Tv7Playlist/Views/PlaylistEntry/Delete.cshtml b/Tv7Playlist/Views/PlaylistEntry/Delete.cshtml new file mode 100644 index 0000000..8940d35 --- /dev/null +++ b/Tv7Playlist/Views/PlaylistEntry/Delete.cshtml @@ -0,0 +1,65 @@ +@model Tv7Playlist.Data.PlaylistEntry; +@{ + ViewData["Title"] = $"Delete channel {Model.ChannelNumberExport} - {Model.Name}"; +} + +
+
+

Delete channel @Model.ChannelNumberExport - @Model.Name ?

+
+
+ +
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+ + Cancel +
+
+
+ +@section Scripts { + @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } +} \ No newline at end of file diff --git a/Tv7Playlist/Views/PlaylistEntry/Edit.cshtml b/Tv7Playlist/Views/PlaylistEntry/Edit.cshtml index 65a0bfd..71b6f64 100644 --- a/Tv7Playlist/Views/PlaylistEntry/Edit.cshtml +++ b/Tv7Playlist/Views/PlaylistEntry/Edit.cshtml @@ -4,7 +4,7 @@ }
-
+

Edit channel @Model.ChannelNumberExport - @Model.Name