/* private DetailedMovie GetDetailMovie(TmdbMovie movie) * { * * return new DetailedMovie * { * Id = movie.id, * OriginalTitle = movie.original_title, * ComposedTitle = GetTitle(movie), * Overview = movie.overview, * Score = movie.vote_average, * VoteCount = movie.vote_count, * ImdbId = movie.imdb_id, * PosterUrl = GetUrl(movie), * GenresCommaSeparated = GetGenresString(String.Join(", ", movie.genre_ids)), * ReleaseDate = movie.release_date, * Runtime = movie.runtime, * Tagline = movie.tagline * }; * } * * private string GetUrl(TmdbMovie movie) * { * return _tmdbConfiguration.images.base_url +_tmdbConfiguration.images.poster_sizes[3] + movie.poster_path; * } * * private string GetTitle(TmdbMovie movie) * { * return string.Format("{0}{1}({2})", movie.title.Substring(0, Math.Min(movie.title.Length, AppConstants.MovieTitleMaxLength)),movie.title.Length > AppConstants.MovieTitleMaxLength ? "..." : " ", string.IsNullOrEmpty(movie.release_date) ? "N/A" : movie.release_date.Substring(0, 4)); * } */ public async Task <List <Books> > DiscoverBooks(DiscoverOption option) { try { var dscUrl = string.Empty; switch (option) { case DiscoverOption.Popular: dscUrl = string.Format(AppConstants.BooksPopular); break; /* case DiscoverOption.HighestRated: * dscUrl = string.Format(AppConstants.TmdbMovieHighestRated, AppConstants.TmdbApiKey); * break; * case DiscoverOption.InTheaters: * dscUrl = string.Format(AppConstants.TmdbMovieInTheaters, AppConstants.TmdbApiKey, * DateTime.Today.AddMonths(-1).ToString("yyyy-MM-dd"), * DateTime.Today.ToString("yyyy-MM-dd")); * break; * case DiscoverOption.Upcoming: * dscUrl = string.Format(AppConstants.TmdbUpcomingMovies, AppConstants.TmdbApiKey); * break; * default: * dscUrl = string.Format(AppConstants.TmdbMoviePopular, AppConstants.TmdbApiKey); * break;*/ } var res = await BaseClient.GetAsync(dscUrl); res.EnsureSuccessStatusCode(); var json = await res.Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(json)) { return(null); } var books = JsonConvert.DeserializeObject <Book>(json); return(books.Books); } catch (Exception ex) { Debug.WriteLine(typeof(BooksService).Name, "Ooops! Something went wrong fetching information for: {0}. Exception: {1}", option.ToString(), ex); return(null); } }
public async Task <List <DetailedMovie> > DiscoverMovie(DiscoverOption option) { try { var dscUrl = string.Empty; if (_genres == null) { GetGenres(); } switch (option) { case DiscoverOption.Popular: dscUrl = string.Format(AppConstants.TmdbMoviePopular, AppConstants.TmdbApiKey); break; case DiscoverOption.HighestRated: dscUrl = string.Format(AppConstants.TmdbMovieHighestRated, AppConstants.TmdbApiKey); break; case DiscoverOption.InTheaters: dscUrl = string.Format(AppConstants.TmdbMovieInTheaters, AppConstants.TmdbApiKey, DateTime.Today.AddMonths(-1).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd")); break; case DiscoverOption.Upcoming: dscUrl = string.Format(AppConstants.TmdbUpcomingMovies, AppConstants.TmdbApiKey); break; default: dscUrl = string.Format(AppConstants.TmdbMoviePopular, AppConstants.TmdbApiKey); break; } var res = await BaseClient.GetAsync(dscUrl); res.EnsureSuccessStatusCode(); var json = await res.Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(json)) { return(null); } var movies = JsonConvert.DeserializeObject <Movies>(json); await GetConfigurationIfNeeded(); var movieList = movies.results.Select(movie => new DetailedMovie { Id = movie.id, OriginalTitle = movie.original_title, ComposedTitle = string.Format("{0}{1}({2})", movie.original_title.Substring(0, Math.Min(movie.original_title.Length, AppConstants.MovieTitleMaxLength)), movie.original_title.Length > AppConstants.MovieTitleMaxLength ? "..." : " ", movie.release_date.Substring(0, 4)), Overview = movie.overview, Score = movie.vote_average, VoteCount = movie.vote_count, ImdbId = movie.imdb_id, PosterUrl = _tmdbConfiguration.images.base_url + _tmdbConfiguration.images.poster_sizes[3] + movie.poster_path, GenresCommaSeparated = GetGenresString(String.Join(", ", movie.genre_ids)), ReleaseDate = movie.release_date, Runtime = movie.runtime, Tagline = movie.tagline }).ToList(); return(movieList); } catch (Exception ex) { Debug.WriteLine(typeof(TMDBMovieService).Name, "Ooops! Something went wrong fetching information for: {0}. Exception: {1}", option.ToString(), ex); return(null); } }