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..6957b79 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; }
@@ -22,10 +26,12 @@
///
/// 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 @@