public DetailsModel(WebDetailsService Service) { _service = Service; Movie = new Movie(); MovieDetails = new MovieDetails(); TVDetails = new TVShowDetails(); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } Movie = await _service.GetAsync(id); if (Movie == null || Movie?.TMDB_ID <= 0) { return(NotFound()); } if (Movie.MovieOrTVShow == MovieOrTVShow.Movie) { MovieDetails = await _service.GetMovieDetailsAsync(Movie.TMDB_ID); if (MovieDetails != null) { PosterURL = "https://image.tmdb.org/t/p/w185" + MovieDetails.poster_path; Overview = MovieDetails.overview; Tagline = MovieDetails.tagline; Runtime = MovieDetails.runtime; } } else if (Movie.MovieOrTVShow == MovieOrTVShow.TV) { TVDetails = await _service.GetTVSHowDetailsAsync(Movie.TMDB_ID); if (TVDetails == null) { return(Page()); } Overview = TVDetails.overview; PosterURL = "https://image.tmdb.org/t/p/w185" + TVDetails.poster_path; foreach (var season in TVDetails.seasons) { if (season.season_number == Movie.Season) { if (!string.IsNullOrEmpty(season.poster_path)) { PosterURL = "https://image.tmdb.org/t/p/w185" + season.poster_path; } if (!string.IsNullOrEmpty(season.overview)) { Overview = season.overview; } break; } } Tagline = string.Empty; SeasonCount = TVDetails.number_of_seasons; if (TVDetails.episode_run_time?.Count() > 0) { Runtime = TVDetails.episode_run_time.ToList().FirstOrDefault(); } } return(Page()); }
public virtual async Task <Movie> ImportTVShowAsync(int TMDB_ID) { var Movie = new Movie(); if (TMDB_ID <= 0) { return(Movie); } TVShowDetails TVShowDetails = await _TMDBapi.FetchTVShowDetailsAsync(TMDB_ID); if (TVShowDetails == null) { return(Movie); } Movie.TMDB_ID = TVShowDetails.id; Movie.Title = TVShowDetails.name; Movie.Genres = new List <Genre>(); TVShowDetails?.genres.ToList() .ForEach(genre => Movie.Genres.Add(new Genre(genre.id))); if (Movie.TMDB_ID <= 0) { return(Movie); } Movie.IMDB_ID = string.Empty; Movie.Year = Convert.ToDateTime(TVShowDetails.first_air_date).Year; if (TVShowDetails.seasons?.Count() > 0 && Movie.Season != 0) { foreach (var season in TVShowDetails.seasons) { if (season.season_number == Movie.Season) { //overwrite the year if was have a value from the seasons collection Movie.Year = Convert.ToDateTime(season.air_date).Year; break; } } } foreach (var rating in TVShowDetails.content_ratings?.results) { if (rating.iso_3166_1 == "US") { Movie.Rating = Movie.RatingFromString(rating.rating); break; } } return(Movie); }