private void GetMoviesCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            try
            {
                if (e.Error != null)
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() => MessageBox.Show(e.Error.Message));
                }
                else
                {
                    var multiplexId = _appSettings.Multiplex.MultiplexId;

                    TextReader textReader = new StringReader(e.Result);
                    var        xElement   = XElement.Load(textReader);

                    var items = (from item in xElement.Descendants("item")
                                 select new Movie
                    {
                        Title = item.GetAttributeOrDefault("title"),
                        MovieId = item.GetAttributeIntOrDefault("id"),
                        MultiplexId = multiplexId
                    }).ToList();

                    foreach (var movie in items)
                    {
                        if (movie.Title.StartsWith("TheatreHD"))
                        {
                            TheatreHDMovies.Add(movie);
                        }
                        else
                        {
                            Movies.Add(movie);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                UpdateProgressBar(false);
                _isLoaded = true;
            }
        }
 public void LoadMovies()
 {
     if (!_isLoaded)
     {
         UpdateProgressBar(true);
         Movies.Clear();
         TheatreHDMovies.Clear();
         var client = new WebClient();
         client.DownloadStringCompleted += GetMoviesCompleted;
         var path = string.Format(Movie.MoviesUri, _appSettings.Multiplex.MultiplexId);
         client.DownloadStringAsync(new Uri(path, UriKind.Absolute));
     }
     else
     {
         UpdateProgressBar(false);
     }
 }