Ejemplo n.º 1
0
        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());
        }