Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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);
        }