コード例 #1
0
        private void refreshItemsFunc(object feedUrl)
        {
            ObservableCollection<NewsFeedEntryModel> entries = new EasySocial.FrameWork.Collections.AsyncObservableCollection<NewsFeedEntryModel>();

            Sloppycode.net.RssReader reader = new Sloppycode.net.RssReader();
            //reader.RdfMode = true;

            Sloppycode.net.RssFeed feed = reader.Retrieve((String)feedUrl);

            foreach (Sloppycode.net.RssItem item in feed.Items)
            {
                NewsFeedEntryModel entry = new NewsFeedEntryModel();
                entry.Title = item.Title;
                try
                {
                    entry.Date = DateTime.Parse(item.Pubdate);
                }
                catch
                {
                    entry.Date = DateTime.Now;
                }
                entry.Url = item.Link;
                entries.Add(entry);
            }
            if (entries.Count() != _entries.Count())
            {
                _entries = entries;
                NotifyPropertyChanged("Entries");
            }
            else
            {
                if (!entries.SequenceEqual(_entries, new PlgNewsFeeds.Comparer.NewsFeedEntryComparer()))
                {
                    _entries = entries;
                    NotifyPropertyChanged("Entries");
                }
            }
        }