Пример #1
0
        private void AddEpisodesOnPageToDatabase(EpisodeOuterDto episodeOuter)
        {
            var episodeList = episodeOuter.episodes.ToList();

            foreach (EpisodeFromTVDBDto epDto in episodeList)
            {
                try {
                    Log.Information("Checking episode {a}: \"{b}\"...", epDto.EpisodeId, epDto.EpisodeName);
                    Episode ep = epDto.ToEpisode();
                    if (epDto.FirstAiredInPastYear())
                    {
                        _episodeService.UpdateEpisodeIfLastUpdatedIsNewer(ep);
                    }
                    if (ep.EpisodeName == null)
                    {
                        Log.Warning("Skipping episodeId {a} due to missing episode name", ep.TVDBEpisodeId);
                    }
                    else
                    {
                        _episodeService.Add(ep);
                    }
                }
                catch (Exception e) {
                    Log.Error(e, "Error adding episode {a} to database", epDto.EpisodeName);
                }
            }
        }
Пример #2
0
        public void ConvertEpisodeOuterObjectToDto_Valid_ReturnsOuterObject()
        {
            string pathToJson = @"..\..\..\..\Renamer.Data\SampleData\OrvilleEpisodes.json";
            string json       = File.ReadAllText(pathToJson);

            JsonConverter converter          = new JsonConverter();
            int           expectedLastPage   = 1;
            string        expectedName       = "Old Wounds";
            int           expectedSeason     = 1;
            int           expectedEpisodeNum = 1;

            EpisodeOuterDto episodeOuter = converter.ConvertEpisodeOuterObjectToDto(json);

            Assert.Equal(expectedLastPage, episodeOuter.links.Last);
            Assert.Equal(expectedName, episodeOuter.episodes[0].EpisodeName);
            Assert.Equal(expectedSeason, episodeOuter.episodes[0].Season);
            Assert.Equal(expectedEpisodeNum, episodeOuter.episodes[0].NumberInSeason);
        }
Пример #3
0
        public async Task <EpisodeOuterDto> FetchEpisodes(int seriesId, string token, int page = 1)
        {
            Log.Information("Fetching Episodes from seriesId {a}, page {b}", seriesId, page);
            EpisodeOuterDto episodesOuter = new EpisodeOuterDto();
            HttpClient      client        = CreateDefaultClient(token);

            try {
                var response = await client.GetAsync(GetEpisodesUri(seriesId, page));

                response.EnsureSuccessStatusCode();
                var stringResponse = await response.Content.ReadAsStringAsync();

                JsonConverter converter = new JsonConverter();
                episodesOuter = converter.ConvertEpisodeOuterObjectToDto(stringResponse);
                Log.Information("Successfully fetched episodes for TV Series {seriesId}", seriesId);
            }
            catch (Exception e) {
                Log.Error(e, "Error fetching episodes for seriesId {seriesId}", seriesId);
            }
            return(episodesOuter);
        }
Пример #4
0
        public EpisodeLinksDto ConvertEpisodeLinksToDto(string episodesJson)
        {
            EpisodeOuterDto outerData = JsonConvert.DeserializeObject <EpisodeOuterDto>(episodesJson);

            return(outerData.links);
        }
Пример #5
0
        public EpisodeFromTVDBDto[] ConvertEpisodesToDto(string episodesJson)
        {
            EpisodeOuterDto outerData = JsonConvert.DeserializeObject <EpisodeOuterDto>(episodesJson);

            return(outerData.episodes);
        }