summaryrefslogtreecommitdiff
path: root/Pages/ViewMedia.razor
diff options
context:
space:
mode:
Diffstat (limited to 'Pages/ViewMedia.razor')
-rw-r--r--Pages/ViewMedia.razor21
1 files changed, 18 insertions, 3 deletions
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<HBContext> dbFactory
@inject ITagService tagService
+@implements IDisposable
<PageTitle>@title</PageTitle>
@@ -14,7 +15,7 @@
<div id="metadata-fileinfo">
<p>Title: <i>@(@media.ShortDescription ?? "None")</i></p>
<p>Description: <i>@(media.LongDescription ?? "None")</i></p>
- <p>Upload history</p>
+ <p id="metadata-uploadhistory">Upload history</p>
<hr />
<table class="data-table">
<tr>
@@ -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();
}