Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }