void GetThingsCompleted(object sender, HealthVaultResponseEventArgs e)
        {
            if (e.ErrorText == null)
            {
                XElement responseNode = XElement.Parse(e.ResponseXml);
                // using LINQ to get the latest reading of blood pressure state
                var readings = (from thingNode in responseNode.Descendants("thing")
                                orderby Convert.ToDateTime(thingNode.Element("eff-date").Value) ascending
                                select thingNode).ToList();

                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    BloodPressureModel bloodPressureState = new BloodPressureModel();
                    foreach (var item in readings)
                    {
                        bloodPressureState.Parse(item);
                        _data.Add(new GraphItem
                                     {
                                         Name = bloodPressureState.When.ToShortDateString(),
                                         Value = bloodPressureState.Systolic.ToString()
                                     });
                    }

                    progressOverlay.Hide();
                });
            }
            else
            {
                Dispatcher.BeginInvoke(() =>
                {
                    MessageBox.Show(e.ErrorText);
                });
            }
        }
        void GetThingsCompleted(object sender, HealthVaultResponseEventArgs e)
        {
            SetProgressBarVisibility(false);

            if (e.ErrorText == null)
            {
                XElement responseNode = XElement.Parse(e.ResponseXml);
                // using LINQ to get the latest reading of blood pressure state
                XElement latestReading = (from thingNode in responseNode.Descendants("thing")
                                          orderby Convert.ToDateTime(thingNode.Element("eff-date").Value) descending
                                          select thingNode).FirstOrDefault<XElement>();

                if (latestReading != null)
                {
                    BloodPressureModel bloodPressureState = new BloodPressureModel();
                    bloodPressureState.Parse(latestReading);

                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        txtLastUpdated.Text = string.Format("When - {0}, Systolic - {1}, Diastolic - {2}",
                                                            bloodPressureState.When.ToString("MMM dd, yyyy"),
                                                            bloodPressureState.Systolic,
                                                            bloodPressureState.Diastolic);
                    });
                }
                else
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        txtLastUpdated.Text = "No readings! Time to track blood pressure.";
                    });
                }
            }
        }