internal static void AddEpisodeToPausedData(TraktShow show, TraktEpisode episode, float progress)
{
var pausedEpisodes = (_PausedEpisodes ?? new List<TraktSyncPausedEpisode>()).ToList();
var existingPausedEpisode = pausedEpisodes.FirstOrDefault(e => (((e.Show.Ids.Trakt == show.Ids.Trakt) && e.Show.Ids.Trakt != null) || ((e.Show.Ids.Tvdb == show.Ids.Tvdb) && e.Show.Ids.Tvdb != null)) &&
e.Episode.Season == episode.Season &&
e.Episode.Number == episode.Number);
// if it exists already, increment the play count only
if (existingPausedEpisode != null)
{
existingPausedEpisode.Progress = progress;
existingPausedEpisode.PausedAt = DateTime.UtcNow.ToISO8601();
}
else
{
pausedEpisodes.Add(new TraktSyncPausedEpisode
{
PausedAt = DateTime.UtcNow.ToISO8601(),
Progress = progress,
Show = new TraktShow
{
Ids = show.Ids,
Title = show.Title,
Year = show.Year
},
Episode = new TraktEpisode
{
Ids = episode.Ids,
Number = episode.Number,
Season = episode.Season,
Title = episode.Title
}
});
}
_PausedEpisodes = pausedEpisodes;
}