public async Task <Season> BuildSeasonAsync(Uri address)
        {
            List <Uri> episodeAddressList;
            string     seasonName;

            try
            {
                episodeAddressList = await seasonInfoDownloader.GetInfoListAsync(address);

                seasonName = await seasonInfoDownloader.GetOriginalNameAsync(address);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            var episodeList = new List <Episode>();

            for (int i = 0; i < episodeAddressList.Count; i++)
            {
                var episode = new Episode(seasonName, episodeAddressList[i], 0, i);
                episodeList.Add(episode);
            }

            var season = new Season(address)
            {
                EpisodeList = episodeList
            };

            return(season);
        }
Пример #2
0
        public void TestInitialize()
        {
            this.subInfoDownloaderEpisode = Substitute.For <IInfoDownloader>();
            this.subInfoDownloaderUri     = Substitute.For <IInfoDownloader>();

            subInfoDownloaderEpisode.GetInfoListAsync(Arg.Any <Uri>())
            .Returns(Task.FromResult(new List <Uri>()));
        }
        public async Task <TvSeries> BuildTvSeriesAsync(Uri address)
        {
            List <Uri> seasonAddressList;
            TvSeries   tvSeries;

            try
            {
                seasonAddressList = await tvSeriesInfoDownloader.GetInfoListAsync(address);

                tvSeries = new TvSeries(address, seasonAddressList);
                foreach (var seasonUri in tvSeries.SeasonUriList)
                {
                    var season = await BuildSeasonAsync(seasonUri);

                    tvSeries.SeasonList.Add(season);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(tvSeries);
        }