public async Task <ArticleDataAggregate> GetLatest(bool fromCache = true) { if (fromCache == false || _cachedData == null) { _cachedData = await GetLatestFromRemote(); } return(_cachedData); }
public ArticleDataAggregate AverageSentimentsOverTopcs(ArticleDataAggregate data) { foreach (var topic in data.Topics) { var articles = data.Articles.Where(a => a.TopicAssignments.Any(t => t.TopicId == topic.Id)); double average = 0; foreach (var a in articles) { average += a.Sentiment; } topic.AverageSentiment = average / articles.Count(); } return(data); }