示例#1
0
        public async Task <IActionResult> CustomReportMonthlyGraph(int customReportId, int year)
        {
            var report = await _customReportService.GetCustomReportByIdForCurrentUser(customReportId);

            var reportCategories = report.Categories.Select(x => x.CategoryId);

            var expensesPerMonth = await _expenseCalculation.ExpensePerCategoryIdPerMonthForYear(year, reportCategories);

            var expensesReportModel = new
            {
                GraphCategories = SelectListHelper.CreateMonthSelectList().Select(item => item.Text).ToList(),
                GraphData       = new List <GraphData>()
            };

            foreach (var key in expensesPerMonth.Keys.OrderBy(item => item))
            {
                expensesReportModel.GraphData.Add(new GraphData
                {
                    Name = key,
                    Data = expensesPerMonth[key].Values.ToArray()
                });
            }

            return(Json(new SinanceJsonResult
            {
                Success = true,
                ObjectData = expensesReportModel
            }));
        }