public async Task <IList <Movie> > GetMoviesByCriteria(SearchCriteria criteria) { //Prepare action DiscoverMovieAction action = await CreateDiscoveryAction(criteria); //Execute discovery action /* OUT for NOW, only get 1 page of results * List<MovieSearchResultItem> results = new List<MovieSearchResultItem>(); * PagedResultList<MovieSearchResultItem> discoveryResult; * do * { * discoveryResult = await action.Execute(_Client); * results.AddRange(discoveryResult.results); * } * while (discoveryResult.page < discoveryResult.total_pages); * //Get movie details * IList<MovieDetailsResultItem> movieDetails = await GetMovieDetails(results);*/ PagedResultList <MovieSearchResultItem> discoveryResult = await action.Execute(_Client); //Get movie details IList <MovieDetailsResultItem> movieDetails = await GetMovieDetails(discoveryResult.results); //Process results List <Movie> result = new List <Movie>(); foreach (var item in movieDetails) { result.Add(TransformToDomain(item)); } return(result); }
private async Task <DiscoverMovieAction> CreateDiscoveryAction(SearchCriteria criteria) { DiscoverMovieAction action = new DiscoverMovieAction() .SetGenres(_GenreProvider.GetGenreIds(criteria.Genres)) .SetMaxDate(criteria.EndDate) .SetKeywords(await _KeywordProvider.GetKeywordIds(criteria.Keywords)); if (criteria.UpcomingOnly) { action.SetReleaseTypes(new List <int> { 2, 3 }); action.SetMinDate(DateTime.Now); } return(action); }
public void TearDown() { TestObject = null; }
public void Setup() { TestObject = new DiscoverMovieAction(); }