public ActionResult GetSerie(int id) { { HttpWebRequest apiRequest = WebRequest.Create("https://api.themoviedb.org/3/tv/" + id + "?api_key=" + apiKey + "&language=es-MX") as HttpWebRequest; string apiResponse = ""; using (HttpWebResponse response = apiRequest.GetResponse() as HttpWebResponse) { StreamReader reader = new StreamReader(response.GetResponseStream()); apiResponse = reader.ReadToEnd(); } ResponseSerie rootObject = JsonConvert.DeserializeObject <ResponseSerie>(apiResponse); TheMovieDbSeries theMovieDbSeries = new TheMovieDbSeries(); theMovieDbSeries.name = rootObject.name; theMovieDbSeries.overview = rootObject.overview; theMovieDbSeries.poster_path = rootObject.poster_path == null?Url.Content("~/Content/Image/no-image.png") : "https://image.tmdb.org/t/p/w500/" + rootObject.poster_path; theMovieDbSeries.id = rootObject.id; theMovieDbSeries.number_of_seasons = rootObject.number_of_seasons; theMovieDbSeries.last_air_date = rootObject.last_air_date; theMovieDbSeries.next_episode_to_air = rootObject.next_episode_to_air == null ? "" : rootObject.next_episode_to_air.ToString().Substring(18, 10); theMovieDbSeries.status = rootObject.status; return(View(theMovieDbSeries)); } }
public async Task <List <Series> > GetSeriesListAsync(int startId, int endId) { List <Series> l = new List <Series>(); int id = startId; try { for (; id <= endId; id++) { var queryBuilder = GetParamBuilder(); var fullEndpoint = MovieDbURL + "/tv/" + id + "?" + queryBuilder.ToString(); using (HttpResponseMessage resp = MovieDbClient.GetAsync(fullEndpoint).Result) { if (!resp.IsSuccessStatusCode) { Debug.WriteLine("No pude recuperar serie nº" + id + ". Boomer :("); continue; } string jsonString = await resp.Content.ReadAsStringAsync(); TheMovieDbSeries MovieDbS = JsonConvert.DeserializeObject <TheMovieDbSeries>(jsonString); Series s = MovieDbS.ToSeries(); if (String.IsNullOrEmpty(s.seriesName)) { continue; } if (String.IsNullOrEmpty(s.seriesDescription)) { continue; } if (String.IsNullOrEmpty(s.status)) { continue; } if (s.firstAired == null) { continue; } if (String.IsNullOrEmpty(s.bannerUrl)) { continue; } if (String.IsNullOrEmpty(s.posterUrl)) { continue; } if (s.network == null) { continue; } foreach (Season se in s.seasonList) { se.episodeList = await GetEpisodesBySeriesAndSeasonAsync(s, se); if (se.episodeList.Count <= 0) { continue; } foreach (Episode ep in se.episodeList) { if (ep.aired == null) { continue; } } } s.actorList = await GetMainCastBySeries(s); if (s.actorList.Count <= 0) { continue; } foreach (ActorRole ar in s.actorList) { ar.series = s; } l.Add(s); } } } catch (Exception e) { MessageBox.Show(e.Message, "Excepción procesando la serie nº" + id + "."); } return(l); }