Exemple #1
0
        public ChartJSChartModel GetPieChart(List <Expense> expenses)
        {
            expenses = expenses.Where(e => e.SpentDate >= ExpenseSummaryTimePeriod.ThisMonth.GetStartDate() && e.SpentDate <= ExpenseSummaryTimePeriod.ThisMonth.GetEndDate().AddDays(1).AddSeconds(-1)).ToList();
            var model      = new ChartJSChartModel();
            var categories = expenses.GroupBy(e => e.Category).OrderByDescending(e => e.Sum(e2 => e2.Amount));

            foreach (var category in categories)
            {
                model.AddPoint(category.Key, category.Sum(e => e.Amount));
            }

            return(model);
        }
Exemple #2
0
        public ChartJSChartModel GetLineChart(List <Income> income)
        {
            var today = DateTime.UtcNow.AddHours(-6).Date;
            var model = new ChartJSChartModel();

            for (var x = 0; x < 12; x++)
            {
                var startDate = new DateTime(today.AddMonths(-x).Year, today.AddMonths(-x).Month, 1);
                var endDate   = startDate.AddMonths(1).AddDays(-1);
                var monthName = today.AddMonths(-x).ToString("MMM");
                var amount    = GetTotalSpentAmount(income, startDate, endDate);
                model.AddPointBeginning(monthName, amount);
            }

            return(model);
        }