Beispiel #1
0
        private async void searchBtn_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(searchTxt.Text))
            {
                MessageBox.Show("Inserisci il titolo del film che vuoi cercare", "Errore");
                return;
            }
            int totalResults = 10, gotResults = 0, toGet = int.Parse(resultsToGet.SelectedItem.ToString()), page = 1;

            disableSearch();
            movies = new List <Movie>();
            while (gotResults < Math.Min(totalResults, toGet))
            {
                MoviesSearch result = await searchMovies(searchTxt.Text, page ++);

                if (result == null)
                {
                    MessageBox.Show("Impossibile comunicare con il server", "Errore");
                    enableSearch();
                    return;
                }
                else if (result.Search == null)
                {
                    MessageBox.Show("Nessun film trovato", "Errore");
                    enableSearch();
                    return;
                }
                gotResults  += result.Search.Count();
                totalResults = int.Parse(result.totalResults);
                movies.AddRange(result.Search);
            }
            enableSearch();
            refreshMovieList();
        }
Beispiel #2
0
        public static async Task <MoviesSearch> searchMovies(string title, int page)
        {
            MoviesSearch movies = null;

            try
            {
                HttpResponseMessage response = await client.GetAsync("/?apikey=" + API_KEY + "&s=" + title + "&page=" + page.ToString());

                if (response.IsSuccessStatusCode)
                {
                    movies = await response.Content.ReadAsAsync <MoviesSearch>();
                }
            }
            catch {}
            return(movies);
        }