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); } }
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); } }
/// <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); }