예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }