public async Task <IActionResult> Revenue(int?page)
        {
            IList <Load> totalRevenue = new List <Load>();
            List <Load>  loadItems    = context.
                                        Loads
                                        .Include(item => item.LoadCategory)
                                        .ToList();
            IList <LoadCategory> loadCategories = context.LoadCategories.ToList();

            foreach (var item in loadItems)
            {
                totalRevenue.Add(item);
            }
            ;
            RevenueReportViewModel viewModel = new RevenueReportViewModel
            {
                LoadCategories = loadCategories,
                Loads          = loadItems,
                TotalRevenue   = totalRevenue
            };

            return(View(viewModel));

            ViewBag.Title = "Revenue by Category";

            int pageSize = 3;
        }
        public RevenueReportViewModel GetFilterizeChartData(ReportFilterViewModel filterModel)
        {
            var RevenueReport = new RevenueReportViewModel();
            RevenueReport.BarChartData = GetBarChartData(filterModel);
            RevenueReport.DonutChartData = GetDonutChartData(filterModel);
            RevenueReport.LineChartData = GetLineChartData(filterModel);
            RevenueReport.BarChartRegistrationData = GetBarChartRegistrationData(filterModel);

            return RevenueReport;
        }
Exemplo n.º 3
0
        public RevenueReportViewModel GetRevenueReport(ReportRequestModel model)
        {
            var expenses = _expense.GetExpensesByDateRange(model).ToList();

            var payments = _payment.GetPaymentByDateRange(model).ToList();

            var revenues = _revenueRepository.GetRevenuesByDateRange(model).ToList();

            var totalExpense = expenses.Sum(x => x.Amount);

            var totalRevenue = payments.Sum(x => x.Amount) + revenues.Sum(x => x.Amount);

            var netIncome = totalRevenue - totalExpense;

            var viewModel = new RevenueReportViewModel(expenses, payments, netIncome, totalExpense, totalRevenue)
            {
                Revenues = new List <RevenueReportDataModel>()
            };

            foreach (var payment in payments)
            {
                viewModel.Revenues.Add(new RevenueReportDataModel()
                {
                    Id      = payment.Id,
                    Created = payment.Created,
                    Amount  = payment.Amount
                });
            }

            foreach (var revenue in revenues)
            {
                viewModel.Revenues.Add(new RevenueReportDataModel()
                {
                    Id      = revenue.Id,
                    Created = revenue.Created,
                    Amount  = revenue.Amount
                });
            }

            viewModel.Revenues = viewModel.Revenues.OrderBy(x => x.Created).ToList();

            return(viewModel);
        }