Calculate double episode start time on episode info refresh

This commit is contained in:
markus101 2013-04-20 10:03:19 -07:00
commit fa2b2df7d5
9 changed files with 30 additions and 215 deletions

View file

@ -190,6 +190,22 @@ namespace NzbDrone.Core.Tv
}
}
var allEpisodes = new List<Episode>();
allEpisodes.AddRange(newList);
allEpisodes.AddRange(updateList);
var groups = allEpisodes.GroupBy(e => new { e.SeriesId, e.AirDate }).Where(g => g.Count() > 1).ToList();
foreach (var group in groups)
{
int episodeCount = 0;
foreach (var episode in group.OrderBy(e => e.SeasonNumber).ThenBy(e => e.EpisodeNumber))
{
episode.AirDate = episode.AirDate.Value.AddMinutes(episode.Series.Runtime * episodeCount);
episodeCount++;
}
}
_episodeRepository.InsertMany(newList);
_episodeRepository.UpdateMany(updateList);
@ -248,19 +264,6 @@ namespace NzbDrone.Core.Tv
return false;
}
private void DeleteEpisodesNotInTvdb(Series series, IEnumerable<Episode> tvdbEpisodes)
{
//Todo: This will not work as currently implemented - what are we trying to do here?
return;
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.Id));
foreach (var episode in tvdbEpisodes)
{
_episodeRepository.Delete(episode.Id);
}
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.Id);
}
public void SetPostDownloadStatus(List<int> episodeIds, PostDownloadStatusType postDownloadStatus)
{
if (episodeIds.Count == 0) throw new ArgumentException("episodeIds should contain one or more episode ids.");
@ -338,5 +341,18 @@ namespace NzbDrone.Core.Tv
_logger.Debug("Linking [{0}] > [{1}]", message.EpisodeFile.Path, episode);
}
}
private void DeleteEpisodesNotInTvdb(Series series, IEnumerable<Episode> tvdbEpisodes)
{
//Todo: This will not work as currently implemented - what are we trying to do here?
return;
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.Id));
foreach (var episode in tvdbEpisodes)
{
_episodeRepository.Delete(episode.Id);
}
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.Id);
}
}
}