From 84d40edb0ee1e2fa8f87c8aaacb96389e4ec2b1f Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Fri, 16 May 2025 19:58:52 -0600 Subject: [PATCH] set graph grace see #941 --- Controllers/Vehicle/ReportController.cs | 16 +++++++++++----- Views/Vehicle/_MPGByMonthReport.cshtml | 10 ++++++++-- 2 files changed, 19 insertions(+), 7 deletions(-) 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)) { -