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); } }
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."); } }