Ejemplo n.º 1
0
        //метод, який відправляє та оброблює новий запит для відображення детальної інформації фільму
        public ObservableCollection <TheMovieDb> GetMovieDetails(int movieId)
        {
            ObservableCollection <TheMovieDb> movieDetails = new ObservableCollection <TheMovieDb>();

            string         movieLink  = AllResources.MovieLinkTemplate + movieId + AllResources.ApiKeyForLink + ResourceAPI.api_key + AllResources.RegionForLink;
            HttpWebRequest apiRequest = WebRequest.Create(movieLink) as HttpWebRequest;

            string apiResponse = "";

            try
            {
                using (HttpWebResponse response = apiRequest.GetResponse() as HttpWebResponse)
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream());
                    apiResponse = reader.ReadToEnd();
                }

                TheMovieDb rootObject = JsonConvert.DeserializeObject <TheMovieDb>(apiResponse);
                TheMovieDb movie      = new TheMovieDb();
                movie = CreateMovie(movie, rootObject);

                movieDetails.Add(movie);
                return(movieDetails);
            }
            catch
            {
                return(movieDetails);
            }
        }
Ejemplo n.º 2
0
        //метод, надсилає запит та оброблює його, щоб відобразити всі фільми на конкретній сторінці
        public void GetMovies(int page_number)
        {
            //очищення колекції, щоб заповнити тільки фільмами з конкретної сторінки
            MoviesCollectionOnPage.Clear();

            string upcomingMoviesLink = AllResources.AllMoviesLinkTemplate + ResourceAPI.api_key + AllResources.PageForLink + page_number + AllResources.RegionForLink;

            HttpWebRequest apiRequest  = WebRequest.Create(upcomingMoviesLink) as HttpWebRequest;
            string         apiResponse = "";

            try
            {
                using (HttpWebResponse response = apiRequest.GetResponse() as HttpWebResponse)
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream());
                    apiResponse = reader.ReadToEnd();
                }
                ResponseSearchMovies rootObject = JsonConvert.DeserializeObject <ResponseSearchMovies>(apiResponse);
                foreach (Result result in rootObject.results)
                {
                    //створення нового екземпляру фільму
                    TheMovieDb movie = new TheMovieDb();
                    movie.title        = result.title;
                    movie.poster_path  = CreatePosterPath(result.poster_path);
                    movie.release_date = RightDateFormat(result.release_date);
                    movie.id           = result.id;
                    //додавання екземпляру фільму до колекції фільмів на сторінці
                    MoviesCollectionOnPage.Add(movie);
                }
            }
            catch
            {  }
        }
Ejemplo n.º 3
0
        //метод, який заповнює екземпляр фільмів даними
        private TheMovieDb CreateMovie(TheMovieDb movie, TheMovieDb rootObject)
        {
            movie.genres               = rootObject.genres;
            movie.all_genres           = GetAllGenres(movie.genres);
            movie.title                = rootObject.title;
            movie.original_title       = rootObject.original_title;
            movie.overview             = rootObject.overview;
            movie.poster_path          = CreatePosterPath(rootObject.poster_path);
            movie.production_countries = rootObject.production_countries;

            movie.all_countries        = GetAllCountries(movie.production_countries);
            movie.production_companies = rootObject.production_companies;
            movie.all_companies        = GetAllCompanies(movie.production_companies);
            movie.release_date         = RightDateFormat(rootObject.release_date);
            movie.days_left            = GetDaysLeft(movie.release_date);
            movie.runtime          = rootObject.runtime;
            movie.tagline          = rootObject.tagline;
            movie.vote_average     = rootObject.vote_average;
            movie.spoken_languages = rootObject.spoken_languages;
            movie.all_languages    = GetAllLanguages(movie.spoken_languages);
            movie.status           = rootObject.status;
            return(movie);
        }