From 40c3fcbb91487a3c1f3a8bbef560f8198a9202c5 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Fri, 19 Jun 2020 19:25:19 +0200 Subject: [PATCH] The EpisodeRepository now uses the TrackRepository --- Kyoo/Controllers/Repositories/EpisodeRepository.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Kyoo/Controllers/Repositories/EpisodeRepository.cs b/Kyoo/Controllers/Repositories/EpisodeRepository.cs index a60e1b20..c26aae88 100644 --- a/Kyoo/Controllers/Repositories/EpisodeRepository.cs +++ b/Kyoo/Controllers/Repositories/EpisodeRepository.cs @@ -12,12 +12,14 @@ namespace Kyoo.Controllers { private readonly DatabaseContext _database; private readonly IProviderRepository _providers; + private readonly ITrackRepository _tracks; - public EpisodeRepository(DatabaseContext database, IProviderRepository providers) + public EpisodeRepository(DatabaseContext database, IProviderRepository providers, ITrackRepository tracks) { _database = database; _providers = providers; + _tracks = tracks; } public void Dispose() @@ -83,10 +85,11 @@ namespace Kyoo.Controllers if (obj.ExternalIDs != null) foreach (MetadataID entry in obj.ExternalIDs) _database.Entry(entry).State = EntityState.Added; - if (obj.Tracks != null) - foreach (Track entry in obj.Tracks) - _database.Entry(entry).State = EntityState.Added; + if (obj.Tracks != null) + foreach (Track track in obj.Tracks) + await _tracks.Create(track); + try { await _database.SaveChangesAsync(); @@ -163,7 +166,7 @@ namespace Kyoo.Controllers _database.Entry(entry).State = EntityState.Deleted; if (obj.Tracks != null) foreach (Track entry in obj.Tracks) - _database.Entry(entry).State = EntityState.Deleted; + await _tracks.Delete(entry); _database.Episodes.Remove(obj); await _database.SaveChangesAsync(); }