/// <inheritdoc />
        public override async Task <FeedItem> GetFeedItemAsync(FeedReaderContext context)
        {
            var feedItems = await this.GetFeedItemsAsync(context).ConfigureAwait(false);

            var index    = this.GetSkipNumber(context.NumberOfFeedItems > feedItems.Count ? feedItems.Count : context.NumberOfFeedItems, context.IsRandom);
            var feedItem = feedItems.Skip(index).Take(1).SingleOrDefault();

            return(feedItem);
        }
        /// <inheritdoc />
        public override async Task <List <FeedItem> > GetFeedItemsAsync(FeedReaderContext context)
        {
            var feed = await this.LoadFeedAsync(context.FeedUri).ConfigureAwait(false);

            var items = feed.Items
                        .FilterIncluded(context.PrefixesIncluded)
                        .FilterExcluded(context.PrefixesExcluded)
                        .OrderByDescending(p => p.PublishDate)
                        .Take(context.NumberOfFeedItems)
                        .ToList();

            var feedItems = items.Select(p => this.BuildFeedItem(p)).ToList();

            return(feedItems);
        }
Exemple #3
0
 public FeedService(FeedReaderContext context)
 {
     this.context = context;
 }
Exemple #4
0
 public ArticleService(FeedReaderContext context)
 {
     this.context = context;
 }
 /// <inheritdoc />
 public virtual async Task <FeedItem> GetFeedItemAsync(FeedReaderContext context)
 {
     return(await Task.FromResult(default(FeedItem)));
 }
Exemple #6
0
 public CategoryService(FeedReaderContext context)
 {
     this.context = context;
 }