private string GetTopExpenseCategories() { if (Services.Services.ExpenseService.AllItems.Count == 0) { return(string.Empty); } Dictionary <ExpenseCategory, Decimal> topExpenses = BusinessStatsService.GetTopExpenseCategories(StartDate, GetEndOfDay(EndDate), 5); var graphData = new GraphData { labels = topExpenses.Select(c => c.Key.ToString()).ToArray(), datasets = new GraphData.Datasets[] { new GraphData.Datasets { data = topExpenses.Select(c => (int)c.Value).ToArray(), backgroundColor = backgroundColours } } }; return(JsonConvert.SerializeObject(graphData)); }
private string GetPastPerformance() { if (Services.Services.PaymentsService.AllItems.Count == 0 && Services.Services.ExpenseService.AllItems.Count == 0) { return(string.Empty); } List <(string month, decimal payments, decimal expenses)> pastPerformance = BusinessStatsService.GetPerformance(StartDate, GetEndOfDay(EndDate)); decimal totalPayments = pastPerformance.Sum(p => p.payments); decimal totalExpenses = pastPerformance.Sum(p => p.expenses); string[] backgroundColorGreen = { "rgba(151, 205, 118, .7)" }; string[] backgroundColorBlue = { "rgba(31, 200, 219, .7)" }; var graphData = new GraphData { labels = pastPerformance.Select(c => c.month).ToArray(), datasets = new GraphData.Datasets[] { new GraphData.Datasets { label = "Revenue", data = pastPerformance.Select(c => (int)c.payments).ToArray(), backgroundColor = backgroundColorGreen }, new GraphData.Datasets { label = "Expenses", data = pastPerformance.Select(c => (int)c.expenses).ToArray(), backgroundColor = backgroundColorBlue } } }; return(JsonConvert.SerializeObject(graphData)); }