private async void ListViewFlights_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string url = "http://partners.api.skyscanner.net/apiservices/pricing/v1.0/" + sessionKey + "/booking?apiKey=" + App.skyscannerApiKey;

            HttpClient httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("Accept", "application/json");

            List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> > {
            };

            parameters.Add(new KeyValuePair <string, string>("apiKey", App.skyscannerApiKey));
            parameters.Add(new KeyValuePair <string, string>("outboundlegid", ((sender as ListView).SelectedItem as FlightsListItem).outboundId));
            parameters.Add(new KeyValuePair <string, string>("inboundlegid", ((sender as ListView).SelectedItem as FlightsListItem).inboundId));
            parameters.Add(new KeyValuePair <string, string>("adults", query.Adults.ToString()));
            parameters.Add(new KeyValuePair <string, string>("children", query.Children.ToString()));
            parameters.Add(new KeyValuePair <string, string>("infants", query.Infants.ToString()));
            FormUrlEncodedContent content  = new FormUrlEncodedContent(parameters);
            HttpResponseMessage   response = await httpClient.PutAsync(new Uri(url), content);

            if (response.IsSuccessStatusCode)
            {
                FlightDetailsParams flightDetailsParams = new FlightDetailsParams();
                flightDetailsParams.url    = response.Headers.Location.ToString() + "?apiKey=" + App.skyscannerApiKey;
                flightDetailsParams.agents = agents;
                Frame.Navigate(typeof(FlightDetailsPage), flightDetailsParams);
            }
        }
Beispiel #2
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (e.Parameter is FlightDetailsParams)
            {
                FlightDetailsParams flightDetailsParams = e.Parameter as FlightDetailsParams;
                url    = flightDetailsParams.url;
                agents = flightDetailsParams.agents;

                try
                {
                    await LoadFlightDetails();
                }
                catch (COMException ex)
                {
                    DisplayErrorMessage("Couldn't connect to the server. Please check your internet connection!");
                }
                catch (Exception ex)
                {
                    DisplayErrorMessage("An error occurred when searching for flights. Please go back and try again.");
                }
            }
            else
            {
                DisplayErrorMessage("An error occurred when searching for flights. Please go back and try again.");
            }
        }