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