//Discover TV through filtering
        private static PagedResult <TvShow> FilterTvShows(TMDbClient client, int[] genre, int page, DiscoverTvShowSortBy sortby, int year)
        {
            DiscoverTv query = client.DiscoverTvShowsAsync().WhereGenresInclude(genre).WhereFirstAirDateIsInYear(year).OrderBy(sortby);

            SearchContainer <SearchTv> results = query.Query(page).Result;

            var getTvShows = (from result in results.Results
                              select new
            {
                Name = result.Name,
                PosterPath = result.PosterPath,
                Id = result.Id
            }).ToList().Select(p => new TvShow()
            {
                Name       = p.Name,
                PosterPath = p.PosterPath,
                Id         = p.Id
            });
            var pagedTvShow = new PagedResult <TvShow>
            {
                Data       = getTvShows.ToList(),
                TotalItems = results.TotalResults,
                PageNumber = page,
                PageSize   = 21
            };

            return(pagedTvShow);
        }
Example #2
0
        public SearchContainer <SearchTv> RequestTvSuggestionsUpcoming()
        {
            TMDbClient client = new TMDbClient(Constants.OmdbKey);

            return(client.DiscoverTvShowsAsync()
                   .WhereFirstAirDateIsAfter(DateTime.Today).Query().Result);
        }
        public async Task TestDiscoverTvShowsAsync()
        {
            DiscoverTv query = TMDbClient.DiscoverTvShowsAsync()
                               .WhereVoteCountIsAtLeast(100)
                               .WhereVoteAverageIsAtLeast(2);

            await TestHelpers.SearchPagesAsync(i => query.Query(i));
        }
Example #4
0
        public SearchContainer <SearchTv> RequestTvSuggestions()
        {
            TMDbClient client = new TMDbClient(Constants.OmdbKey);

            return(client.DiscoverTvShowsAsync()
                   .WhereVoteAverageIsAtLeast(7)
                   .WhereAirDateIsBefore(DateTime.Today.AddMonths(1))
                   .WhereFirstAirDateIsAfter(DateTime.Today.AddMonths(-2)).Query().Result);
        }
Example #5
0
        public async ValueTask ExecuteAsync(IConsole console)
        {
            var cancellationToken = console.GetCancellationToken();

            var tmdbClient = new TMDbClient(TmdbApiKey);

            // Discover movies
            var movieQuery = tmdbClient
                             .DiscoverMoviesAsync()
                             .IncludeAdultMovies()
                             .OrderBy(DiscoverMovieSortBy.PopularityDesc);

            for (var page = 1; page <= 5; page++)
            {
                var results = await movieQuery.Query(page, cancellationToken);

                foreach (var result in results.Results)
                {
                    var externalIds = await tmdbClient.GetMovieExternalIdsAsync(result.Id, cancellationToken);

                    await console.Output.WriteLineAsync($"Working on {result.Title} [movie; {externalIds.ImdbId}]...");
                    await RequestFlickAsync(externalIds.ImdbId, cancellationToken);
                }
            }

            // Discover series
            var seriesQuery = tmdbClient
                              .DiscoverTvShowsAsync()
                              .OrderBy(DiscoverTvShowSortBy.PopularityDesc);

            for (var page = 1; page <= 5; page++)
            {
                var results = await seriesQuery.Query(page, cancellationToken);

                foreach (var result in results.Results)
                {
                    var externalIds = await tmdbClient.GetTvShowExternalIdsAsync(result.Id, cancellationToken);

                    await console.Output.WriteLineAsync($"Working on {result.Name} [series; {externalIds.ImdbId}]...");
                    await RequestFlickAsync(externalIds.ImdbId, cancellationToken);
                }
            }
        }
 public async Task TestDiscoverTvShowsNoParamsAsync()
 {
     await TestHelpers.SearchPagesAsync(i => TMDbClient.DiscoverTvShowsAsync().Query(i));
 }