示例#1
0
 void feed_FeedRetrieved(object sender, FeedRetrievedEventArgs e)
 {
     if (this.loaded)
     {
         SimpleMethodDelegate del = new SimpleMethodDelegate(this.mainForm.Refresh);
         this.mainForm.Invoke(del);
     }
 }
示例#2
0
        /// <summary>
        /// Internal method used to raise the feed event
        /// </summary>
        protected void OnFeedRetrieved(FeedInfo feed)
        {
            this.actualName = feed.ActualTitle;
            DateTimeOffset mostRecentItem = this.feedLastUpdated;

            if (mostRecentItem == DateTimeOffset.MaxValue)
            {
                mostRecentItem = DateTimeOffset.MinValue;
            }

            System.Diagnostics.Debug.WriteLine(String.Format("Feed Retrieved: {0} - Most Recent Item: {1}", this.Name, mostRecentItem));

            if (FeedRetrieved != null)
            {
                FeedRetrievedEventArgs e = new FeedRetrievedEventArgs(feed);
                FeedRetrieved(this, e);
            }

            if (FeedUpdated != null)
            {
                List <FeedItem> newitems = new List <FeedItem>();
                foreach (FeedItem item in feed.Items)
                {
                    DateTimeOffset itemDate = item.PubDate;
                    //if (itemDate == DateTimeOffset.MinValue) itemDate = item.PublishDate;

                    System.Diagnostics.Debug.WriteLine(String.Format("Item Published at: {0} - (last update at: {1})", itemDate, this.feedLastUpdated));

                    if (itemDate > mostRecentItem)
                    {
                        mostRecentItem = itemDate;
                    }

                    if (itemDate > this.feedLastUpdated)
                    {
                        newitems.Add(item);
                        item.SourceFeed = feed;
                    }
                }

                FeedUpdatedEventArgs args = new FeedUpdatedEventArgs(newitems);
                FeedUpdated(this, args);
            }
            this.feedLastUpdated = mostRecentItem;  // feed.LastUpdatedTime is not always set =(
        }
示例#3
0
        /// <summary>
        /// Internal method used to raise the feed event
        /// </summary>
        protected void OnFeedRetrieved(FeedInfo feed)
        {
            this.actualName = feed.ActualTitle;
            DateTimeOffset mostRecentItem = this.feedLastUpdated;
            if (mostRecentItem == DateTimeOffset.MaxValue) mostRecentItem = DateTimeOffset.MinValue;

            System.Diagnostics.Debug.WriteLine(String.Format("Feed Retrieved: {0} - Most Recent Item: {1}", this.Name, mostRecentItem));

            if (FeedRetrieved != null)
            {
                FeedRetrievedEventArgs e = new FeedRetrievedEventArgs(feed);
                FeedRetrieved(this, e);
            }

            if (FeedUpdated != null)
            {
                List<FeedItem> newitems = new List<FeedItem>();
                foreach (FeedItem item in feed.Items)
                {
                    DateTimeOffset itemDate = item.PubDate;
                    //if (itemDate == DateTimeOffset.MinValue) itemDate = item.PublishDate;

                    System.Diagnostics.Debug.WriteLine(String.Format("Item Published at: {0} - (last update at: {1})", itemDate, this.feedLastUpdated));

                    if (itemDate > mostRecentItem)
                        mostRecentItem = itemDate;

                    if (itemDate > this.feedLastUpdated)
                    {
                        newitems.Add(item);
                        item.SourceFeed = feed;
                    }
                }

                FeedUpdatedEventArgs args = new FeedUpdatedEventArgs(newitems);
                FeedUpdated(this, args);
            }
            this.feedLastUpdated = mostRecentItem;  // feed.LastUpdatedTime is not always set =(
        }
示例#4
0
 void feed_FeedRetrieved(object sender, FeedRetrievedEventArgs e)
 {
     if (this.loaded)
     {
         SimpleMethodDelegate del = new SimpleMethodDelegate(this.mainForm.Refresh);
         this.mainForm.Invoke(del);
     }
 }