Exemple #1
0
 public static Episode ConvertToEpisode(this VirtualEpisode episode, Show show, Season season)
 {
     return(new Episode
     {
         Id = Guid.NewGuid().ToString(),
         ShowId = show.Id,
         ShowName = show.Name,
         Name = episode.Name,
         LocationType = LocationType.Virtual,
         IndexNumber = episode.EpisodeNumber,
         ParentId = season.Id,
         PremiereDate = new DateTimeOffset(episode.FirstAired ?? new DateTime(), TimeSpan.Zero)
     });
 }
        public void ConvertToEpisode_Should_Convert_Virtual_Episode()
        {
            var show        = new ShowBuilder("1", "1").Build();
            var showEpisode = show.Episodes.First();
            var showSeason  = show.Seasons.First();

            var virtualEpisode = new VirtualEpisode(showEpisode, showSeason);
            var episode        = virtualEpisode.ConvertToEpisode(show, showSeason);

            episode.ShowId.Should().Be(show.Id);
            episode.ShowName.Should().Be(show.Name);
            episode.Name.Should().Be(showEpisode.Name);
            episode.LocationType.Should().Be(LocationType.Virtual);
            episode.IndexNumber.Should().Be(showEpisode.IndexNumber);
            episode.ParentId.Should().Be(showSeason.Id);
            // ReSharper disable once PossibleInvalidOperationException
            episode.PremiereDate.Should().Be(showEpisode.PremiereDate);
        }
Exemple #3
0
        public static VirtualEpisode ConvertToVirtualEpisode(this Data episode)
        {
            var virtualEpisode = new VirtualEpisode
            {
                Id            = episode.Id.ToString(),
                FirstAired    = DateTime.Parse(episode.FirstAired),
                Name          = episode.EpisodeName,
                EpisodeNumber = episode.AiredEpisodeNumber,
                SeasonNumber  = episode.AiredSeason
            };

            if (episode.AiredSeason > 500)
            {
                virtualEpisode.SeasonNumber = Convert.ToInt32(Math.Floor(episode.DvdSeason ?? episode.AiredSeason));
            }

            return(virtualEpisode);
        }
        private static bool IsEpisodeMissing(IEnumerable <Episode> localEpisodes, Season season, VirtualEpisode tvdbEpisode)
        {
            if (season == null)
            {
                return(true);
            }

            foreach (var localEpisode in localEpisodes)
            {
                if (localEpisode.ParentId == season.Id)
                {
                    if (!localEpisode.IndexNumberEnd.HasValue)
                    {
                        if (localEpisode.IndexNumber == tvdbEpisode.EpisodeNumber)
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        if (localEpisode.IndexNumber <= tvdbEpisode.EpisodeNumber &&
                            localEpisode.IndexNumberEnd >= tvdbEpisode.EpisodeNumber)
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }