From c2dd379ea336e0a590d9ef881480cb32b6c901cd Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Thu, 27 Mar 2025 05:45:48 -0600 Subject: [PATCH 1/2] Fixed vehicle API not respecting locale invariant format. --- Controllers/APIController.cs | 9 ++++++++- Models/Vehicle.cs | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Controllers/APIController.cs b/Controllers/APIController.cs index 068e787..a5fd82d 100644 --- a/Controllers/APIController.cs +++ b/Controllers/APIController.cs @@ -120,7 +120,14 @@ namespace CarCareTracker.Controllers { result = _userLogic.FilterUserVehicles(result, GetUserID()); } - return Json(result); + if (_config.GetInvariantApi() || Request.Headers.ContainsKey("culture-invariant")) + { + return Json(result, StaticHelper.GetInvariantOption()); + } + else + { + return Json(result); + } } [HttpGet] diff --git a/Models/Vehicle.cs b/Models/Vehicle.cs index 6b45d21..6f2ccb1 100644 --- a/Models/Vehicle.cs +++ b/Models/Vehicle.cs @@ -1,4 +1,6 @@ -namespace CarCareTracker.Models +using System.Text.Json.Serialization; + +namespace CarCareTracker.Models { public class Vehicle { @@ -8,7 +10,9 @@ public string Make { get; set; } public string Model { get; set; } public string LicensePlate { get; set; } + [JsonConverter(typeof(FromDateOptional))] public string PurchaseDate { get; set; } + [JsonConverter(typeof(FromDateOptional))] public string SoldDate { get; set; } public decimal PurchasePrice { get; set; } public decimal SoldPrice { get; set; } From 56cae008a66a3dfec5d4408dbccd0380d376fcd9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Thu, 27 Mar 2025 05:54:45 -0600 Subject: [PATCH 2/2] Fixed UI and odometer adjustments invariant formats. --- Models/Vehicle.cs | 2 ++ Views/Vehicle/_VehicleModal.cshtml | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Models/Vehicle.cs b/Models/Vehicle.cs index 6f2ccb1..6957b79 100644 --- a/Models/Vehicle.cs +++ b/Models/Vehicle.cs @@ -26,10 +26,12 @@ namespace CarCareTracker.Models /// /// Primarily used for vehicles with odometer units different from user's settings. /// + [JsonConverter(typeof(FromDecimalOptional))] public string OdometerMultiplier { get; set; } = "1"; /// /// Primarily used for vehicles where the odometer does not reflect actual mileage. /// + [JsonConverter(typeof(FromIntOptional))] public string OdometerDifference { get; set; } = "0"; public List DashboardMetrics { get; set; } = new List(); /// diff --git a/Views/Vehicle/_VehicleModal.cshtml b/Views/Vehicle/_VehicleModal.cshtml index 955b5a7..cdb3201 100644 --- a/Views/Vehicle/_VehicleModal.cshtml +++ b/Views/Vehicle/_VehicleModal.cshtml @@ -89,9 +89,15 @@
- +
+ + +
- +
+ + +