コード例 #1
0
        public async Task <TVShowSearchResultsOuterDto> FetchShowSearchResults(string searchTerms, string token)
        {
            Log.Information("Finding search results for {searchTerms}", searchTerms);
            TVShowSearchResultsOuterDto searchResultsOuter = new TVShowSearchResultsOuterDto();
            HttpClient client = CreateDefaultClient(token);

            try {
                var response = await client.GetAsync(GetSearchUri(searchTerms));

                if (response.StatusCode != System.Net.HttpStatusCode.NotFound)
                {
                    response.EnsureSuccessStatusCode();
                    var stringResponse = await response.Content.ReadAsStringAsync();

                    JsonConverter converter = new JsonConverter();
                    searchResultsOuter = converter.ConvertTVShowSearchResultsToDto(stringResponse);
                    Log.Information("Successfully fetched search results for term {searchTerms}", searchTerms);
                }
                else
                {
                    Log.Information("No shows found for search term {searchTerms}", searchTerms);
                }
            }
            catch (Exception e) {
                Log.Error(e, "Error fetching search results");
            }
            return(searchResultsOuter);
        }
コード例 #2
0
        public async Task <List <TVShowFromTVDBDto> > SearchForTVShows(string searchTerms)
        {
            TVShowSearchResultsOuterDto searchResultsOuter = await _retrieverService.FetchShowSearchResults(searchTerms, _tvdbInfo.Token);

            if (searchResultsOuter.shows != null)
            {
                return(searchResultsOuter.shows.ToList());
            }
            else
            {
                return(null);
            }
        }
コード例 #3
0
        public void ConvertTVShowSearchResultsToDto_Valid_ReturnsOuterObject()
        {
            string        pathToJson = @"..\..\..\..\Renamer.Data\SampleData\SiliconValleySearchResults.json";
            string        json       = File.ReadAllText(pathToJson);
            JsonConverter converter  = new JsonConverter();

            string expectedShowName = "Silicon Valley";
            long   expectedSeriesId = 277165;

            TVShowSearchResultsOuterDto outerObject = converter.ConvertTVShowSearchResultsToDto(json);

            Assert.Equal(expectedShowName, outerObject.shows[0].SeriesNameTVDB);
            Assert.Equal(expectedSeriesId, outerObject.shows[0].SeriesId);
        }
コード例 #4
0
        public TVShowSearchResultsOuterDto ConvertTVShowSearchResultsToDto(string showsJson)
        {
            TVShowSearchResultsOuterDto outerData = JsonConvert.DeserializeObject <TVShowSearchResultsOuterDto>(showsJson);

            return(outerData);
        }