From 4710e84dcf2bbfb970c2196c72a4fa482efdf6c8 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Tue, 27 Aug 2024 12:20:50 -0600 Subject: [PATCH] more stats. --- Controllers/APIController.cs | 19 ++++++++++++++++++- Models/API/VehicleInfo.cs | 11 +++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Controllers/APIController.cs b/Controllers/APIController.cs index 2f4db0a..e4e9a86 100644 --- a/Controllers/APIController.cs +++ b/Controllers/APIController.cs @@ -104,6 +104,7 @@ namespace CarCareTracker.Controllers [Route("/api/vehicle/info")] public IActionResult VehicleInfo(int vehicleId) { + //stats for a specific or all vehicles List vehicles = new List(); if (vehicleId != default) { @@ -123,7 +124,6 @@ namespace CarCareTracker.Controllers } vehicles.AddRange(result); } - //stats for a specific vehicle. List apiResult = new List(); @@ -133,9 +133,26 @@ namespace CarCareTracker.Controllers var reminders = _reminderRecordDataAccess.GetReminderRecordsByVehicleId(vehicle.Id); var results = _reminderHelper.GetReminderRecordViewModels(reminders, currentMileage, DateTime.Now); + var serviceRecords = _serviceRecordDataAccess.GetServiceRecordsByVehicleId(vehicle.Id); + var repairRecords = _collisionRecordDataAccess.GetCollisionRecordsByVehicleId(vehicle.Id); + var upgradeRecords = _upgradeRecordDataAccess.GetUpgradeRecordsByVehicleId(vehicle.Id); + var gasRecords = _gasRecordDataAccess.GetGasRecordsByVehicleId(vehicle.Id); + var taxRecords = _taxRecordDataAccess.GetTaxRecordsByVehicleId(vehicle.Id); + var resultToAdd = new VehicleInfo() { VehicleData = vehicle, + LastReportedOdometer = currentMileage, + ServiceRecordCount = serviceRecords.Count(), + ServiceRecordCost = serviceRecords.Sum(x=>x.Cost), + RepairRecordCount = repairRecords.Count(), + RepairRecordCost = repairRecords.Sum(x=>x.Cost), + UpgradeRecordCount = upgradeRecords.Count(), + UpgradeRecordCost = upgradeRecords.Sum(x=>x.Cost), + GasRecordCount = gasRecords.Count(), + GasRecordCost = gasRecords.Sum(x=>x.Cost), + TaxRecordCount = taxRecords.Count(), + TaxRecordCost = taxRecords.Sum(x=> x.Cost), VeryUrgentReminderCount = results.Count(x => x.Urgency == ReminderUrgency.VeryUrgent), PastDueReminderCount = results.Count(x => x.Urgency == ReminderUrgency.PastDue), UrgentReminderCount = results.Count(x => x.Urgency == ReminderUrgency.Urgent), diff --git a/Models/API/VehicleInfo.cs b/Models/API/VehicleInfo.cs index f1af461..fc105b8 100644 --- a/Models/API/VehicleInfo.cs +++ b/Models/API/VehicleInfo.cs @@ -8,5 +8,16 @@ public int NotUrgentReminderCount { get; set; } public int PastDueReminderCount { get; set; } public ReminderExportModel NextReminder { get; set; } + public int ServiceRecordCount { get; set; } + public decimal ServiceRecordCost { get; set; } + public int RepairRecordCount { get; set; } + public decimal RepairRecordCost { get; set; } + public int UpgradeRecordCount { get; set; } + public decimal UpgradeRecordCost { get; set; } + public int TaxRecordCount { get; set; } + public decimal TaxRecordCost { get; set; } + public int GasRecordCount { get; set; } + public decimal GasRecordCost { get; set; } + public int LastReportedOdometer { get; set; } } }