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 })); }