// When page is loaded call this method private async void Page_Loaded(object sender, RoutedEventArgs e) { try { // event details RootObject1 myDetails = await TicketMasterDataEventDetails.GetEventDetails(this.eventId); // if object is not null if (myDetails != null) { // event image eventImage.Source = myDetails.image; if (myDetails.name != null) { eventName.Text = myDetails.name; } else { eventName.Text = "Cannt find event name"; } if (myDetails.eventInfo != null) { eventInfo.Text = myDetails.eventInfo; } else { eventInfo.Text = "No info has been given for the event!"; } if (myDetails.info != null) { eventNote.Text = myDetails.info; } else { eventNote.Text = "No info has been given for the event!"; } if (myDetails.venueName != null) { venueName.Text = myDetails.venueName; } else { venueName.Text = "No venue has been given for this event at this current time!"; } if (myDetails.url != null) { urlInfo.Text = "To buy tickets, click the following link."; url.Content = "www.ticketmaster.com/event/" + myDetails.id; url.NavigateUri = new Uri(myDetails.url); } if (myDetails.date != null) { eventDate.Text = string.Format("{0:f}", myDetails.date); } else { eventDate.Text = "Cannot display date."; } if (myDetails.longitude == null || myDetails.latitude == null || myDetails.venueName == null) { } else { AddSpaceNeedleIcon(myDetails.longitude, myDetails.latitude, myDetails.venueName); } } } catch { DisplayNoWifiDialog(); } }
// Send request to Ticketmasters API with the eventId public async static Task <RootObject1> GetEventDetails(string eventId) { var http = new HttpClient(); var respone = await http.GetAsync("https://app.ticketmaster.com/discovery/v2/events/" + eventId + ".json?apikey=5AdNWJcac0sUjTXt0rQY5lnGJio8OvvN"); var result = await respone.Content.ReadAsStringAsync(); var serializer = new DataContractJsonSerializer(typeof(RootObject1)); var ms = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(result)); var data = (RootObject1)serializer.ReadObject(ms); RootObject1 rootObject1; // event name string name = data.name; // event image BitmapImage image = null; // Loop over event images for (int i = 0; i < 10; i++) { // get image with proper resolution if (data.images[i].height.Equals(576) && data.images[i].width.Equals(1024)) { image = new BitmapImage(new Uri(data.images[i].url)); // exit loop i = 10; } } // event id string id = data.id; // event info string eventInfo = data.info; // event note string note = data.pleaseNote; // event url string url = data.url; // event data string date = data.dates.start.dateTime; // Parse string to DateTime object DateTime parsedDate = DateTime.Parse(date); // venueName string venuName = data._embedded.venues[0].name; // longitude string longitude = data._embedded.venues[0].location.longitude; // latitude string latitude = data._embedded.venues[0].location.latitude; rootObject1 = new RootObject1 { id = id, name = name, image = image, eventInfo = eventInfo, longitude = longitude, latitude = latitude, venueName = venuName, info = note, url = url, date = parsedDate }; return(rootObject1); }