/// <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); }
public FeedService(FeedReaderContext context) { this.context = context; }
public ArticleService(FeedReaderContext context) { this.context = context; }
/// <inheritdoc /> public virtual async Task <FeedItem> GetFeedItemAsync(FeedReaderContext context) { return(await Task.FromResult(default(FeedItem))); }
public CategoryService(FeedReaderContext context) { this.context = context; }