示例#1
0
        public List <RevenueStatistic> GetRevenuesStatistic(long userId)
        {
            var revenues = _dbContext.GetRevenues(userId);
            List <RevenueStatistic> revenueStatistics = new List <RevenueStatistic>();

            foreach (var category in revenues.Select(r => r.Category).Distinct())
            {
                var categoryAmount = revenues.Where(r => r.Category == category).Select(r => r.Amount).Sum();
                var percent        = Math.Round(categoryAmount * 100 / revenues.Select(r => r.Amount).Sum(), 1);
                revenueStatistics.Add(new RevenueStatistic(category.Name, categoryAmount, percent));
            }

            return(revenueStatistics.OrderByDescending(r => r.TotalAmount).ToList());
        }