コード例 #1
0
        // 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();
            }
        }
コード例 #2
0
        // 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);
        }