Fixing tracks edits, still need to fix slugs

This commit is contained in:
Zoe Roux 2021-03-17 00:39:41 +01:00
parent cfc3e4b865
commit d0715055f1
2 changed files with 8 additions and 11 deletions

View File

@ -94,6 +94,7 @@ namespace Kyoo.Models
{
get
{
// TODO other type of tracks should still have slugs. The slug should never be an ID. Maybe a und-number format.
if (Type != StreamType.Subtitle)
return null;

View File

@ -172,17 +172,13 @@ namespace Kyoo.Controllers
if (changed.Tracks != null || resetOld)
{
ICollection<Track> oldTracks = await _tracks.GetAll(x => x.EpisodeID == resource.ID);
resource.Tracks = await changed.Tracks.SelectAsync(async track =>
await _tracks.DeleteRange(oldTracks);
resource.Tracks = await changed.Tracks.SelectAsync(x =>
{
Track oldValue = oldTracks?.FirstOrDefault(x => Utility.ResourceEquals(track, x));
if (oldValue == null)
return await _tracks.CreateIfNotExists(track, true);
oldTracks.Remove(oldValue);
return oldValue;
})
.ToListAsync();
foreach (Track x in oldTracks)
await _tracks.Delete(x);
x.Episode = resource;
x.EpisodeID = resource.ID;
return _tracks.Create(x);
}).ToListAsync();
}
if (changed.ExternalIDs != null || resetOld)