mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-22 15:00:35 -04:00
Fixing tracks edits, still need to fix slugs
This commit is contained in:
parent
cfc3e4b865
commit
d0715055f1
@ -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;
|
||||
|
||||
|
@ -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 =>
|
||||
{
|
||||
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);
|
||||
await _tracks.DeleteRange(oldTracks);
|
||||
resource.Tracks = await changed.Tracks.SelectAsync(x =>
|
||||
{
|
||||
x.Episode = resource;
|
||||
x.EpisodeID = resource.ID;
|
||||
return _tracks.Create(x);
|
||||
}).ToListAsync();
|
||||
}
|
||||
|
||||
if (changed.ExternalIDs != null || resetOld)
|
||||
|
Loading…
x
Reference in New Issue
Block a user