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 @@
- +
+ + +
- +
+ + +