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