diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-01-13 22:48:25 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-01-13 22:48:25 -0500 |
| commit | 7a77aa42c5876c5cda6695b7f76e7a4dd6a11d9f (patch) | |
| tree | 67224e4fa1cdda685f9f4c55061ac64a825d3a19 | |
| parent | 1cb7a1b49cd3f088ed312eb97c6c01b317177104 (diff) | |
update season creator
| -rw-r--r-- | MediaBrowser.Providers/TV/DummySeasonProvider.cs | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/MediaBrowser.Providers/TV/DummySeasonProvider.cs b/MediaBrowser.Providers/TV/DummySeasonProvider.cs index f9f247999..fd4d041b2 100644 --- a/MediaBrowser.Providers/TV/DummySeasonProvider.cs +++ b/MediaBrowser.Providers/TV/DummySeasonProvider.cs @@ -66,29 +66,39 @@ namespace MediaBrowser.Providers.TV .Distinct() .ToList()) { - var hasSeason = series.Children.OfType<Season>() - .Any(i => i.IndexNumber.HasValue && i.IndexNumber.Value == seasonNumber); + var existingSeason = series.Children.OfType<Season>() + .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == seasonNumber); - if (!hasSeason) + if (existingSeason == null) { await AddSeason(series, seasonNumber, false, cancellationToken).ConfigureAwait(false); hasChanges = true; } + else if (existingSeason.IsVirtualItem) + { + existingSeason.IsVirtualItem = false; + await existingSeason.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false); + } } // Unknown season - create a dummy season to put these under if (episodesInSeriesFolder.Any(i => !i.ParentIndexNumber.HasValue)) { - var hasSeason = series.Children.OfType<Season>() - .Any(i => !i.IndexNumber.HasValue); + var existingSeason = series.Children.OfType<Season>() + .FirstOrDefault(i => !i.IndexNumber.HasValue); - if (!hasSeason) + if (existingSeason == null) { await AddSeason(series, null, false, cancellationToken).ConfigureAwait(false); hasChanges = true; } + else if (existingSeason.IsVirtualItem) + { + existingSeason.IsVirtualItem = false; + await existingSeason.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false); + } } return hasChanges; |
