From acd4ca24259da98839847130bf34a27d10b0cf9f Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Wed, 16 Aug 2023 14:19:33 +1000 Subject: Fixed most existing dialogs --- Pages/ViewMedia.razor | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Pages/ViewMedia.razor') diff --git a/Pages/ViewMedia.razor b/Pages/ViewMedia.razor index 8436159..68cc313 100644 --- a/Pages/ViewMedia.razor +++ b/Pages/ViewMedia.razor @@ -1,6 +1,7 @@ @page "/ViewMedia" @inject IDbContextFactory dbFactory @inject ITagService tagService +@implements IDisposable @title @@ -14,7 +15,7 @@

Title: @(@media.ShortDescription ?? "None")

Description: @(media.LongDescription ?? "None")

-

Upload history

+

Upload history


@@ -84,9 +85,11 @@ private TagSelectDialog tagDialog; private MediaTagTable mediaTagTable; + private HBContext db; + protected override void OnInitialized() { - using var db = dbFactory.CreateDbContext(); - media = db.Media.AsNoTracking().First(m => m.Guid == MediaId); + db = dbFactory.CreateDbContext(); + media = db.Media.First(m => m.Guid == MediaId); if(media is null) throw new ArgumentException("Media not found!"); @@ -101,6 +104,18 @@ } private void SetIngest(bool ingest) { + var ingestTag = db.TagDefinitions + .First(td => td.Source == TagSource.Internal && td.Name == "ingest"); + + if(!ingest) + media.Tags.RemoveAll(t => t.TagDefinition.Guid == ingestTag.Guid); + else + if(!media.IsIngest) + media.Tags.Add(new(ingestTag)); + + db.SaveChanges(); StateHasChanged(); } + + public void Dispose() => db.Dispose(); } -- cgit v1.3