public ViewModelPrincipal() { //CarouselView se muestra antes de ejecutar el código del viewmodel, por lo que si //la lista está vacia, el programa crashea //Instancia una nueva pelicula vacia para que el CarouselView no crashee la aplicación List <DiscoverMovie> coleccion = new List <DiscoverMovie>(); DiscoverMovie movie = new DiscoverMovie() { ID = 1, PosterPath = "", Title = "" }; coleccion.Add(movie); //Rellena la coleccion con la pelicula vacia this.InTheatreMovies = new ObservableCollection <DiscoverMovie>(coleccion); this.KidsMovies = new ObservableCollection <DiscoverMovie>(coleccion); this.SpainMovies = new ObservableCollection <DiscoverMovie>(coleccion); repoMovie = new RepositoryMovie(); //Ahora, rellena el carousel con la informacion de verdad Task.Run(async() => { DiscoverMovieRequest request = await repoMovie.DiscoverInTheatreMovies(Sort.PopularityDesc, IncludeAdult.Yes); this.InTheatreMovies = new ObservableCollection <DiscoverMovie>(request.Movies); request = await repoMovie.DiscoverSpainMovies(Sort.PopularityDesc, IncludeAdult.Yes); this.SpainMovies = new ObservableCollection <DiscoverMovie>(request.Movies); request = await repoMovie.DiscoverKidsMovies(Sort.PopularityDesc, IncludeAdult.No); this.KidsMovies = new ObservableCollection <DiscoverMovie>(request.Movies); }); }
//Discover Movie through filtering private static PagedResult <Movie> FilterMovies(TMDbClient client, int[] genre, int page, DiscoverMovieSortBy sortby, int year) { DiscoverMovie query = client.DiscoverMoviesAsync().IncludeWithAllOfGenre(genre).WherePrimaryReleaseIsInYear(year).OrderBy(sortby); SearchContainer <SearchMovie> results = query.Query(page).Result; var getMovies = (from result in results.Results select new { Title = result.Title, PosterPath = result.PosterPath, Id = result.Id }).ToList().Select(p => new Movie() { Title = p.Title, PosterPath = p.PosterPath, Id = p.Id }); var pagedMovie = new PagedResult <Movie> { Data = getMovies.ToList(), TotalItems = results.TotalResults, PageNumber = page, PageSize = 21 }; return(pagedMovie); }
public void TestDiscoverMovies() { DiscoverMovie query = Config.Client.DiscoverMoviesAsync() .WhereVoteCountIsAtLeast(1000) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(i => query.Query(i).Result); }
public async Task TestDiscoverMoviesRegionAsync() { DiscoverMovie query = TMDbClient.DiscoverMoviesAsync() .WhereReleaseDateIsInRegion("BR") .WherePrimaryReleaseDateIsAfter(new DateTime(2017, 01, 01)); await TestHelpers.SearchPagesAsync(i => query.Query(i)); }
public async Task TestDiscoverMoviesAsync() { DiscoverMovie query = TMDbClient.DiscoverMoviesAsync() .WhereVoteCountIsAtLeast(1000) .WhereVoteAverageIsAtLeast(2); await TestHelpers.SearchPagesAsync(i => query.Query(i)); }
public void TestDiscoverMovies() { DiscoverMovie query = _config.Client.DiscoverMovies() .WhereVoteCountIsAtLeast(1000) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(query.Query); }
public void TestDiscoverMoviesRegion() { // Ignore missing json IgnoreMissingJson("results[array] / media_type"); DiscoverMovie query = Config.Client.DiscoverMoviesAsync().WhereReleaseDateIsInRegion("BR").WherePrimaryReleaseDateIsAfter(new DateTime(2017, 01, 01)); TestHelpers.SearchPages(i => query.Query(i).Result); }
public void CreateMovieGenreView(object parameter) { PagedDocumentViewModel <MovieContainer> viewModel = null; DiscoverMovie movie = null; if (ShowDocument(Properties.Resources.MovieGenres)) { viewModel = Documents.CurrentDocument as PagedDocumentViewModel <MovieContainer>; movie = viewModel.Parameter as DiscoverMovie; } else { movie = App.Repository.DiscoverMovie(); viewModel = ViewModelSource.Create <PagedDocumentViewModel <MovieContainer> >(); viewModel.FetchPage = async(x, y) => await App.Repository.DiscoverMovieAsync(movie, Settings.Default.Language, x, y); viewModel.Header = () => Properties.Resources.MovieGenres; viewModel.DocumentType = "MovieGenreView"; viewModel.Parameter = movie; viewModel.Parameters.VoteCount = 0d; viewModel.Parameters.SortBy = MovieSort.PopularityDesc; AddToDocuments(viewModel); } viewModel.Parameters.Genre = null; viewModel.Parameters.Keyword = null; viewModel.Parameters.Company = null; if (parameter != null) { viewModel.Parameters.Genre = GenreHelper.MovieGenres.Last(); if (parameter is int genreId) { viewModel.Parameters.Genre = GenreHelper.MovieGenres.FirstOrDefault(x => x.Id == genreId); } 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(); } }
public void TestDiscoverMoviesLanguage() { // Ignore missing json IgnoreMissingJson("results[array] / media_type"); DiscoverMovie query = Config.Client.DiscoverMoviesAsync().WhereLanguageIs("da-DK").WherePrimaryReleaseDateIsAfter(new DateTime(2017, 01, 01)); Assert.Equal("Skønheden og Udyret", query.Query(0).Result.Results[11].Title); TestHelpers.SearchPages(i => query.Query(i).Result); }
public void TestDiscoverMovies() { // Ignore missing json IgnoreMissingJson("results[array] / media_type"); DiscoverMovie query = Config.Client.DiscoverMoviesAsync() .WhereVoteCountIsAtLeast(1000) .WhereVoteAverageIsAtLeast(2); TestHelpers.SearchPages(i => query.Query(i).Result); }
public void TestDiscoverMoviesOriginalLanguage(string language) { // Ignore missing json IgnoreMissingJson("results[array] / media_type"); DiscoverMovie query = Config.Client.DiscoverMoviesAsync().WhereOriginalLanguageIs(language); List <SearchMovie> results = query.Query(0).Result.Results; Assert.NotEmpty(results); Assert.All(results, item => Assert.Contains(language, item.OriginalLanguage)); }
public List <SearchMovie> Discover(int startYear, int endYear, int genreId, int page = 0) { base.Track(); var movies = new DiscoverMovie(tmdbClient); if (genreId != -1) { movies = movies.IncludeWithAllOfGenre(new List <int> { genreId }); } for (int i = startYear; i <= endYear; i++) { movies = movies.WherePrimaryReleaseIsInYear(i); } return(movies.Query(page).Result.Results); }
public void CreateMovieDiscoverView() { if (ShowDocument(Properties.Resources.DiscoverMovies)) { return; } DiscoverMovie movie = App.Repository.DiscoverMovie(); PagedDocumentViewModel <MovieContainer> viewModel = ViewModelSource.Create <PagedDocumentViewModel <MovieContainer> >(); viewModel.FetchPage = async(x, y) => await App.Repository.DiscoverMovieAsync(movie, Settings.Default.Language, x, y); viewModel.Header = () => Properties.Resources.DiscoverMovies; viewModel.DocumentType = "MovieDiscoverView"; viewModel.Parameter = movie; AddToDocuments(viewModel); }
//Events //Event when window loads private void Window_Loaded(object sender, RoutedEventArgs e) { DiscoverMovie m = client.DiscoverMoviesAsync().IncludeVideoMovies().WhereReleaseDateIsAfter(DateTime.Now.AddDays(-7)); SearchContainer <SearchMovie> recent = m.Query().Result; //TMDbLib.Objects.Movies.Movie movie = client.GetMovieAsync(47964).Result; //SearchContainer<SearchMovie> results = client.SearchMovieAsync("007").Result; Thread thread = new Thread(() => { foreach (SearchMovie movie in recent.Results) { addMovieToDatabase(movie); } displayContent = true; }); thread.Start(); displayRecentReleases(); }
public async Task <List <MovieContainer> > DiscoverMovieAsync(DiscoverMovie movie, string language, int page, CancellationToken cancellationToken) { var tmdbResult = await movie.Query(language : language, page : page, cancellationToken : cancellationToken); return(GetContainerList(tmdbResult.Results, tmdbResult.TotalResults)); }