private async Task <MovieDbGenres> GetGenres() { Dictionary <string, string> genres = new Dictionary <string, string>(); MovieDbResponse movieDbItem = new MovieDbResponse(); var client = new RestClient("https://api.themoviedb.org/3/genre/movie/list"); var request = new RestRequest(Method.GET); request.AddParameter("api_key", Settings.MovieDb_ApiKey); request.AddParameter("language", Settings.MovieDb_Language); LogManager.GetCurrentClassLogger().Info("Getting genres from MovieDb..."); try { IRestResponse <MovieDbGenres> response = await client.ExecuteAsync <MovieDbGenres>(request); LogManager.GetCurrentClassLogger().Info("Finished getting genres from MovieDb"); return(response.Data); } catch (Exception ex) { LogManager.GetCurrentClassLogger().Error(ex); throw ex; } }
private void ChangeImages(MovieDbResponse response) { if (response == null || response.movie_results.Length == 0) { return; } var movieResult = response.movie_results[0]; _headerImageRequest = StartCoroutine(DownloadImage(restApi.ImagesBaseUrl + movieResult.backdrop_path, true)); _posterImageRequest = StartCoroutine(DownloadImage(restApi.ImagesBaseUrl + movieResult.poster_path, false)); }
public async Task <IEnumerable <MovieDbMovie> > SearchMovieAsync(string title) { MovieDbGenres genres = await GetGenres(); List <MovieDbMovie> movies = new List <MovieDbMovie>(); if (string.IsNullOrEmpty(title)) { return(movies); } LogManager.GetCurrentClassLogger().Info($"Searching MovieDb for '{title}'..."); try { var client = new RestClient("https://api.themoviedb.org/3/search/movie"); var request = new RestRequest(Method.GET); request.AddParameter("api_key", Settings.MovieDb_ApiKey); request.AddParameter("language", Settings.MovieDb_Language); request.AddParameter("query", title); request.AddParameter("page", "1"); IRestResponse <MovieDbResponse> response = await client.ExecuteAsync <MovieDbResponse>(request); MovieDbResponse movieDbResponse = response.Data; if (movieDbResponse.results.Count < 1) { return(movies); } foreach (MovieDbResult result in movieDbResponse.results) { movies.Add(BuildMovieDto(result, genres)); } } catch (Exception ex) { LogManager.GetCurrentClassLogger().Error(ex); } LogManager.GetCurrentClassLogger().Info($"Finished searching MovieDb for '{title}'."); return(movies.OrderByDescending(m => m.ReleaseDate)); }