diff --git a/Controllers/Vehicle/ReportController.cs b/Controllers/Vehicle/ReportController.cs index 340d4e5..064a5ea 100644 --- a/Controllers/Vehicle/ReportController.cs +++ b/Controllers/Vehicle/ReportController.cs @@ -130,11 +130,14 @@ namespace CarCareTracker.Controllers }; viewModel.FuelMileageForVehicleByMonth = mpgViewModel; //report header - //total cost. + + var maxMileage = _vehicleLogic.GetMaxMileage(vehicleRecords); + var minMileage = _vehicleLogic.GetMinMileage(vehicleRecords); + viewModel.ReportHeaderForVehicle.TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords); viewModel.ReportHeaderForVehicle.AverageMPG = $"{averageMPG} {mpgViewModel.Unit}"; - viewModel.ReportHeaderForVehicle.MaxOdometer = _vehicleLogic.GetMaxMileage(vehicleRecords); - viewModel.ReportHeaderForVehicle.DistanceTraveled = odometerRecords.Sum(x => x.DistanceTraveled); + viewModel.ReportHeaderForVehicle.MaxOdometer = maxMileage; + viewModel.ReportHeaderForVehicle.DistanceTraveled = maxMileage - minMileage; return PartialView("_Report", viewModel); } [TypeFilter(typeof(CollaboratorFilter))] @@ -202,12 +205,15 @@ namespace CarCareTracker.Controllers var mpgUnit = invertedFuelMileageUnit ? preferredFuelMileageUnit : fuelEconomyMileageUnit; + var maxMileage = _vehicleLogic.GetMaxMileage(vehicleRecords); + var minMileage = _vehicleLogic.GetMinMileage(vehicleRecords); + var viewModel = new ReportHeader() { TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords), AverageMPG = $"{averageMPG} {mpgUnit}", - MaxOdometer = _vehicleLogic.GetMaxMileage(vehicleRecords), - DistanceTraveled = odometerRecords.Sum(x => x.DistanceTraveled) + MaxOdometer = maxMileage, + DistanceTraveled = maxMileage - minMileage }; return PartialView("_ReportHeader", viewModel); diff --git a/Views/Vehicle/_MPGByMonthReport.cshtml b/Views/Vehicle/_MPGByMonthReport.cshtml index cb2d7da..75a5588 100644 --- a/Views/Vehicle/_MPGByMonthReport.cshtml +++ b/Views/Vehicle/_MPGByMonthReport.cshtml @@ -6,10 +6,15 @@ var barGraphColors = StaticHelper.GetBarChartColors(); var userConfig = config.GetUserConfig(User); var userLanguage = userConfig.UserLanguage; + + var graphGrace = Decimal.ToInt32(Model.CostData.Max(x => x.Cost) - Model.CostData.Min(x => x.Cost)); + if (graphGrace < 0 || Model.CostData.Min(x=>x.Cost) - graphGrace < 0) + { + graphGrace = 0; + } } @if (Model.CostData.Any(x => x.Cost > 0)) { -