public async Task <List <RssItem> > GetAllItemsAsync(int?limit = null) { List <RssItem> items = new List <RssItem>(); var tasks = new List <Task <List <RssItem> > >(); foreach (var feed in await _feedRepository.GetFeedsAsync()) { var task = GetRssItemsAsync(feed, limit); tasks.Add(task); } await Task.WhenAll(tasks); foreach (var task in tasks) { items.AddRange(task.Result); } return(items .Where(i => i.PublicationDate >= DateTime.Now.AddDays(-1)) .OrderByDescending(i => i.PublicationDate) .Distinct() .ToList()); }