コード例 #1
0
        public async Task <ObservableCollection <Movie> > LoadData(int count)
        {
            using (Acr.UserDialogs.UserDialogs.Instance.Loading("Carregando..."))
            {
                string url = _DefaultUrl + _Api_Key + language + numberPage + count;

                string urlGenres = _DefaultGenreUrl + _Api_Key + language;

                HttpResponseMessage result = await client.GetAsync(url);

                HttpResponseMessage resultGenres = await client.GetAsync(urlGenres);

                var moviesData = await result.Content.ReadAsStringAsync();

                var genresData = await resultGenres.Content.ReadAsStringAsync();

                RootObject      rootObject  = JsonConvert.DeserializeObject <RootObject>(moviesData);
                RootObjectGenre objectGenre = JsonConvert.DeserializeObject <RootObjectGenre>(genresData);

                ObservableCollection <Movie> movies = new ObservableCollection <Movie>();

                var genres = objectGenre.genres;

                foreach (var item in rootObject.results)
                {
                    DateTime date = DateTime.Parse(item.release_date.Replace('-', '/'));

                    Movie movie = new Movie()
                    {
                        backdrop_path     = item.backdrop_path,
                        id                = item.id,
                        original_language = item.original_language,
                        original_title    = item.original_title,
                        overview          = item.overview,
                        poster_path       = item.poster_path,
                        release_date      = date.ToString().Substring(0, 10),
                        title             = item.title
                    };

                    string genre = string.Empty;

                    foreach (var ids in item.genre_ids)
                    {
                        var aux = genres.First(g => g.id == ids);
                        genre += aux.name + "  ";
                    }

                    movie.genres = genre;

                    movies.Add(movie);
                }

                return(movies);
            }
        }
コード例 #2
0
        public static Dictionary <string, int> GetGenres()
        {
            const string baseURL  = "https://api.themoviedb.org/3/genre/movie/list?api_key=";
            const string apiKey   = "e8b204b4d4934bf9ac8e2813224548f3";
            WebRequest   request  = HttpWebRequest.Create(baseURL + apiKey + "&language=en-US");
            WebResponse  response = request.GetResponse();

            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                string          genres_JSON = reader.ReadToEnd();
                RootObjectGenre genres      = Newtonsoft.Json.JsonConvert.DeserializeObject <RootObjectGenre>(genres_JSON);
                var             dict        = genres.Genres.ToDictionary(x => x.Name, x => x.Id);
                return(dict);
            }
        }
コード例 #3
0
        /// <summary>
        ///     Création d'une liste pour afficher les genres d'une série
        /// </summary>
        /// <param name="i">int qui correspond au genre</param>
        /// <param name="rog">Objet json</param>
        /// <returns>Une liste avec les genres d'un film</returns>
        private List <string> Genres(List <int> listInt, RootObjectGenre rog)
        {
            var retour = new List <string>();

            for (var j = 0; j < listInt.Count; j++)
            {
                for (var k = 0; k < rog.genres.Count; k++)
                {
                    if (listInt[j] == rog.genres[k].id)
                    {
                        retour.Add(rog.genres[k].name);
                    }
                }
            }
            return(retour);
        }