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); } } }
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); }
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); }
public EpisodeLinksDto ConvertEpisodeLinksToDto(string episodesJson) { EpisodeOuterDto outerData = JsonConvert.DeserializeObject <EpisodeOuterDto>(episodesJson); return(outerData.links); }
public EpisodeFromTVDBDto[] ConvertEpisodesToDto(string episodesJson) { EpisodeOuterDto outerData = JsonConvert.DeserializeObject <EpisodeOuterDto>(episodesJson); return(outerData.episodes); }