//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); }
public void TestDiscoverTvShows() { DiscoverTv query = Config.Client.DiscoverTvShowsAsync() .WhereVoteCountIsAtLeast(100) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(i => query.Query(i).Result); }
public async Task TestDiscoverTvShowsAsync() { DiscoverTv query = TMDbClient.DiscoverTvShowsAsync() .WhereVoteCountIsAtLeast(100) .WhereVoteAverageIsAtLeast(2); await TestHelpers.SearchPagesAsync(i => query.Query(i)); }
public void TestDiscoverTvShows() { DiscoverTv query = _config.Client.DiscoverTvShows() .WhereVoteCountIsAtLeast(100) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(query.Query); }
public void TestDiscoverTvShows() { // Ignore missing json IgnoreMissingJson("results[array] / media_type"); DiscoverTv query = Config.Client.DiscoverTvShowsAsync() .WhereVoteCountIsAtLeast(100) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(i => query.Query(i).Result); }
public void CreateTvShowDiscoverView() { if (ShowDocument(Properties.Resources.DiscoverTvShows)) { return; } DiscoverTv tvShow = App.Repository.DiscoverTvShow(); PagedDocumentViewModel <TvShowContainer> viewModel = ViewModelSource.Create <PagedDocumentViewModel <TvShowContainer> >(); viewModel.FetchPage = async(x, y) => await App.Repository.DiscoverTvShowAsync(tvShow, Settings.Default.Language, x, y); viewModel.Header = () => Properties.Resources.DiscoverTvShows; viewModel.DocumentType = "TvShowDiscoverView"; viewModel.Parameter = tvShow; AddToDocuments(viewModel); }
public async Task <List <TvShowContainer> > DiscoverTvShowAsync(DiscoverTv tvShow, string language, int page, CancellationToken cancellationToken) { var tmdbResult = await tvShow.Query(language : language, page : page, cancellationToken : cancellationToken); return(GetContainerList(tmdbResult.Results, tmdbResult.TotalResults)); }
public void CreateTvShowGenreView(object parameter) { PagedDocumentViewModel <TvShowContainer> viewModel = null; DiscoverTv tvShow = null; if (ShowDocument(Properties.Resources.TvShowGenres)) { viewModel = Documents.CurrentDocument as PagedDocumentViewModel <TvShowContainer>; tvShow = viewModel.Parameter as DiscoverTv; } else { tvShow = App.Repository.DiscoverTvShow(); viewModel = ViewModelSource.Create <PagedDocumentViewModel <TvShowContainer> >(); viewModel.FetchPage = async(x, y) => await App.Repository.DiscoverTvShowAsync(tvShow, Settings.Default.Language, x, y); viewModel.Header = () => Properties.Resources.TvShowGenres; viewModel.DocumentType = "TvShowGenreView"; viewModel.Parameter = tvShow; viewModel.Parameters.VoteCount = 0d; viewModel.Parameters.SortBy = TvShowSort.PopularityDesc; AddToDocuments(viewModel); } viewModel.Parameters.Genre = null; viewModel.Parameters.Keyword = null; viewModel.Parameters.Network = null; viewModel.Parameters.Company = null; if (parameter != null) { viewModel.Parameters.Genre = GenreHelper.TvShowGenres.Last(); if (parameter is int genreId) { viewModel.Parameters.Genre = GenreHelper.TvShowGenres.FirstOrDefault(x => x.Id == genreId); } else if (parameter is NetworkBase network) { viewModel.Parameters.Network = new Network { Id = network.Id, Name = network.Name } } ; else if (parameter is Keyword keyword) { viewModel.Parameters.Keyword = new SearchKeyword { Id = keyword.Id, Name = keyword.Name } } ; else if (parameter is ProductionCompany company) { viewModel.Parameters.Company = new SearchCompany { Id = company.Id, Name = company.Name } } ; viewModel.Refresh(); } }