set graph grace see #941

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD
2025-05-16 19:58:52 -06:00
parent 9842f0e501
commit 84d40edb0e
2 changed files with 19 additions and 7 deletions

View File

@@ -130,11 +130,14 @@ namespace CarCareTracker.Controllers
}; };
viewModel.FuelMileageForVehicleByMonth = mpgViewModel; viewModel.FuelMileageForVehicleByMonth = mpgViewModel;
//report header //report header
//total cost.
var maxMileage = _vehicleLogic.GetMaxMileage(vehicleRecords);
var minMileage = _vehicleLogic.GetMinMileage(vehicleRecords);
viewModel.ReportHeaderForVehicle.TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords); viewModel.ReportHeaderForVehicle.TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords);
viewModel.ReportHeaderForVehicle.AverageMPG = $"{averageMPG} {mpgViewModel.Unit}"; viewModel.ReportHeaderForVehicle.AverageMPG = $"{averageMPG} {mpgViewModel.Unit}";
viewModel.ReportHeaderForVehicle.MaxOdometer = _vehicleLogic.GetMaxMileage(vehicleRecords); viewModel.ReportHeaderForVehicle.MaxOdometer = maxMileage;
viewModel.ReportHeaderForVehicle.DistanceTraveled = odometerRecords.Sum(x => x.DistanceTraveled); viewModel.ReportHeaderForVehicle.DistanceTraveled = maxMileage - minMileage;
return PartialView("_Report", viewModel); return PartialView("_Report", viewModel);
} }
[TypeFilter(typeof(CollaboratorFilter))] [TypeFilter(typeof(CollaboratorFilter))]
@@ -202,12 +205,15 @@ namespace CarCareTracker.Controllers
var mpgUnit = invertedFuelMileageUnit ? preferredFuelMileageUnit : fuelEconomyMileageUnit; var mpgUnit = invertedFuelMileageUnit ? preferredFuelMileageUnit : fuelEconomyMileageUnit;
var maxMileage = _vehicleLogic.GetMaxMileage(vehicleRecords);
var minMileage = _vehicleLogic.GetMinMileage(vehicleRecords);
var viewModel = new ReportHeader() var viewModel = new ReportHeader()
{ {
TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords), TotalCost = _vehicleLogic.GetVehicleTotalCost(vehicleRecords),
AverageMPG = $"{averageMPG} {mpgUnit}", AverageMPG = $"{averageMPG} {mpgUnit}",
MaxOdometer = _vehicleLogic.GetMaxMileage(vehicleRecords), MaxOdometer = maxMileage,
DistanceTraveled = odometerRecords.Sum(x => x.DistanceTraveled) DistanceTraveled = maxMileage - minMileage
}; };
return PartialView("_ReportHeader", viewModel); return PartialView("_ReportHeader", viewModel);

View File

@@ -6,10 +6,15 @@
var barGraphColors = StaticHelper.GetBarChartColors(); var barGraphColors = StaticHelper.GetBarChartColors();
var userConfig = config.GetUserConfig(User); var userConfig = config.GetUserConfig(User);
var userLanguage = userConfig.UserLanguage; 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)) @if (Model.CostData.Any(x => x.Cost > 0))
{ {
<canvas id="bar-chart-mpg"></canvas> <canvas id="bar-chart-mpg"></canvas>
<script> <script>
renderChart(); renderChart();
@@ -54,7 +59,8 @@
}, },
scales: { scales: {
y: { y: {
beginAtZero: true, beginAtZero: false,
grace: decodeHTMLEntities('@(graphGrace)'),
ticks: { ticks: {
color: useDarkMode ? "#fff" : "#000" color: useDarkMode ? "#fff" : "#000"
} }