Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
        public void TestDiscoverTvShows()
        {
            DiscoverTv query = Config.Client.DiscoverTvShowsAsync()
                               .WhereVoteCountIsAtLeast(100)
                               .WhereVoteAverageIsAtLeast(2);

            TestHelpers.SearchPages(i => query.Query(i).Result);
        }
Exemplo n.º 3
0
        public async Task TestDiscoverTvShowsAsync()
        {
            DiscoverTv query = TMDbClient.DiscoverTvShowsAsync()
                               .WhereVoteCountIsAtLeast(100)
                               .WhereVoteAverageIsAtLeast(2);

            await TestHelpers.SearchPagesAsync(i => query.Query(i));
        }
Exemplo n.º 4
0
        public void TestDiscoverTvShows()
        {
            DiscoverTv query = _config.Client.DiscoverTvShows()
                               .WhereVoteCountIsAtLeast(100)
                               .WhereVoteAverageIsAtLeast(2);

            TestHelpers.SearchPages(query.Query);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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();
            }
        }