void feedLoaderWorker_DoWork(object sender, DoWorkEventArgs e) { if (FeedsForm.currentFeedUrl != null) { List <TVFeederLib.RSSFeedItem> rssFeedItems = new List <TVFeederLib.RSSFeedItem>(); HttpWebRequest rssFeed = (HttpWebRequest)WebRequest.Create(FeedsForm.currentFeedUrl); using (DataSet rssData = new DataSet()) { try { rssData.ReadXml(rssFeed.GetResponse().GetResponseStream()); } catch (Exception ex) { MessageBox.Show("An error occured reading the RSS feed: ", ex.Message); return; } int total = rssData.Tables["item"].Rows.Count; int current = 0; foreach (DataRow dataRow in rssData.Tables["item"].Rows) { TVFeederLib.RSSFeedItem rssItem = new TVFeederLib.RSSFeedItem(Convert.ToString(dataRow["title"])); rssItem.ChannelId = Convert.ToInt32(dataRow["channel_id"]); rssItem.Description = Convert.ToString(dataRow["description"]); rssItem.ItemId = Convert.ToInt32(dataRow["item_id"]); rssItem.Link = Convert.ToString(dataRow["link"]); rssItem.PublishDate = Convert.ToDateTime(dataRow["pubDate"]); rssItem.Title = Convert.ToString(dataRow["title"]); rssFeedItems.Add(rssItem); current++; feedLoaderWorker.ReportProgress((current * 100) / total); } } FeedsForm.feedItems = rssFeedItems; } }
void feedLoaderWorker_DoWork(object sender, DoWorkEventArgs e) { if (FeedsForm.currentFeedUrl != null) { List<TVFeederLib.RSSFeedItem> rssFeedItems = new List<TVFeederLib.RSSFeedItem>(); HttpWebRequest rssFeed = (HttpWebRequest)WebRequest.Create(FeedsForm.currentFeedUrl); using (DataSet rssData = new DataSet()) { try { rssData.ReadXml(rssFeed.GetResponse().GetResponseStream()); } catch (Exception ex) { MessageBox.Show("An error occured reading the RSS feed: ", ex.Message); return; } int total = rssData.Tables["item"].Rows.Count; int current = 0; foreach (DataRow dataRow in rssData.Tables["item"].Rows) { TVFeederLib.RSSFeedItem rssItem = new TVFeederLib.RSSFeedItem(Convert.ToString(dataRow["title"])); rssItem.ChannelId = Convert.ToInt32(dataRow["channel_id"]); rssItem.Description = Convert.ToString(dataRow["description"]); rssItem.ItemId = Convert.ToInt32(dataRow["item_id"]); rssItem.Link = Convert.ToString(dataRow["link"]); rssItem.PublishDate = Convert.ToDateTime(dataRow["pubDate"]); rssItem.Title = Convert.ToString(dataRow["title"]); rssFeedItems.Add(rssItem); current++; feedLoaderWorker.ReportProgress((current * 100) / total); } } FeedsForm.feedItems = rssFeedItems; } }