Ejemplo n.º 1
0
 public Feed(Uri uri, HttpResourceClient httpResourceClient)
 {
     this.httpResourceClient = httpResourceClient;
     using (var xmlReader = XmlReader.Create(httpResourceClient.Get(uri)))
     {
         feed = SyndicationFeed.Load(xmlReader);
     }
 }
Ejemplo n.º 2
0
 public Task Execute(Uri recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient, ClientState clientState)
 {
     foreach (var item in ((IEnumerable<SyndicationItem>)encounteredItems).Reverse())
     {
         eventProcessor.Process(item);
         clientState.RecordSuccessfullyProcessed(item);
     }
     return new Terminate();
 }
        public Task Execute(Uri recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient, ClientState clientState)
        {
            var entry = feed.Items.ElementAt(entryIndex);

            if (!clientState.HaveAlreadyProcessed(entry))
            {
                encounteredItems.Add(entry);

                if (feed.Items.Count() > entryIndex + 1)
                {
                    return new NavigateEntryTask(feed, entryIndex + 1, encounteredItems);
                }
                return new NavigatePreviousArchiveTask(feed, encounteredItems);
            }

            return new ProcessItemsTask(encounteredItems);
        }
 public Task Execute(Uri recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient, ClientState clientState)
 {
     return new NavigateEntryTask(new Feed(recentFeedUri, httpResourceClient), 0, new List<SyndicationItem>());
 }
Ejemplo n.º 5
0
 public Client(string recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient)
 {
     this.eventProcessor = eventProcessor;
     this.httpResourceClient = httpResourceClient;
     this.recentFeedUri = new Uri(recentFeedUri);
 }
Ejemplo n.º 6
0
 public Task Execute(Uri recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient, ClientState clientState)
 {
     throw new InvalidOperationException("Should not be executing the terminal state.");
 }
 public Task Execute(Uri recentFeedUri, EventProcessor eventProcessor, HttpResourceClient httpResourceClient, ClientState clientState)
 {
     if (feed.HasPreviousArchive)
         return new NavigateEntryTask(feed.PreviousArchive, 0, encounteredItems);
     return new ProcessItemsTask(encounteredItems);
 }