summaryrefslogtreecommitdiff
path: root/Services/MediaService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Services/MediaService.cs')
-rw-r--r--Services/MediaService.cs15
1 files changed, 10 insertions, 5 deletions
diff --git a/Services/MediaService.cs b/Services/MediaService.cs
index a7049e1..2f84b27 100644
--- a/Services/MediaService.cs
+++ b/Services/MediaService.cs
@@ -19,14 +19,19 @@ public class MediaService : IMediaService {
public void SetIngest(Media media, bool ingest) {
using var db = dbFactory.CreateDbContext();
- media = db.Media.First(m => m.Guid == media.Guid);
+ media = db.Media
+ .Include(m => m.Tags)
+ .ThenInclude(t => t.TagDefinition)
+ .First(m => m.Guid == media.Guid);
var ingestTag = db.TagDefinitions
.First(td => td.Guid == HBContext.IngestTag);
- if(ingest)
- media.Tags.Add(new(ingestTag));
- else
- media.Tags.RemoveAll(t => t.TagDefinition.Guid == ingestTag.Guid);
+ if(ingest) {
+ if(!media.Tags.Select(t => t.TagDefinition.Guid).Contains(HBContext.IngestTag))
+ media.Tags.Add(new(ingestTag));
+ } else {
+ media.Tags.RemoveAll(t => t.TagDefinition.Guid == HBContext.IngestTag);
+ }
db.SaveChanges();
}