public async Task <IActionResult> RefreshFeeds() { var feeds = db.Feeds.ToList(); foreach (var feed in feeds) { var articles = await _feed.GetArticlesFromFeed(feed); var newArticles = articles.Where(a => a.PublishDate > feed.LastUpdate && !db.Articles.Any(d => d.ArticleId == a.ArticleId)); if (newArticles.Count() > 0) { db.Articles.AddRange(newArticles); var lastArticle = newArticles.OrderByDescending(a => a.PublishDate).First(); await _subscription.NotifyUsers(lastArticle); } feed.LastUpdate = DateTime.Now; await db.SaveChangesAsync(); } return(Ok()); }