コード例 #1
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
            {  }
        }
コード例 #2
0
        //метод, першочергово викликається для відображення першої сторінки з фільмами
        public void CallAPI()
        {
            //рядок, який містить запит (посилання)
            string upcomingMoviesLink = AllResources.AllMoviesLinkTemplate + ResourceAPI.api_key + AllResources.SortForLink;

            //створення запиту на основі попереднього рядка
            HttpWebRequest apiRequest = WebRequest.Create(upcomingMoviesLink) as HttpWebRequest;

            //зчитування всього тексту, який повернув TheMovieDatabase, у apiResponse
            string apiResponse = "";

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

            //обробка тексту apiResponse, використовуючи десеріалізацію JSON-формату, запис результату у екземпляр класу ResponseSearchMovies
            ResponseSearchMovies rootObject = JsonConvert.DeserializeObject <ResponseSearchMovies>(apiResponse);

            total_pages = rootObject.total_pages;
            //отримання колекції фільмів з 1 сторінки
            GetMovies(1);
        }