From f86acf673a807a2284802a28bade7c970c4e5d05 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Sun, 12 Jan 2025 14:47:18 -0700 Subject: [PATCH] you can now print reminders. --- Controllers/VehicleController.cs | 13 ++++++ Views/Vehicle/_Stickers.cshtml | 69 ++++++++++++++++++++++++++++++++ wwwroot/css/site.css | 13 ++++++ wwwroot/js/shared.js | 11 ++++- 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 Views/Vehicle/_Stickers.cshtml diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 6e95d9b..5315158 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -966,6 +966,15 @@ namespace CarCareTracker.Controllers return Json(result); } var stickerViewModel = new StickerViewModel(); + if (vehicleId != default) + { + var vehicleData = _dataAccess.GetVehicleById(vehicleId); + if (vehicleData != null && vehicleData.Id != default) + { + stickerViewModel.VehicleData = vehicleData; + } + } + int recordsAdded = 0; switch (importMode) { @@ -1066,6 +1075,10 @@ namespace CarCareTracker.Controllers } break; } + if (recordsAdded > 0) + { + return PartialView("_Stickers", stickerViewModel); + } return Json(result); } [HttpPost] diff --git a/Views/Vehicle/_Stickers.cshtml b/Views/Vehicle/_Stickers.cshtml new file mode 100644 index 0000000..b690e61 --- /dev/null +++ b/Views/Vehicle/_Stickers.cshtml @@ -0,0 +1,69 @@ +@using CarCareTracker.Helper +@inject IConfigHelper config +@inject ITranslationHelper translator +@model StickerViewModel +@{ + var userConfig = config.GetUserConfig(User); + var hideZero = userConfig.HideZero; + var userLanguage = userConfig.UserLanguage; +} +@if( Model.VehicleRecords.ReminderRecords.Any()){ + @foreach(ReminderRecord reminder in Model.VehicleRecords.ReminderRecords){ +
+
+ +
+
+
+

@($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}")

+
+
+
+
+

@($"{StaticHelper.GetVehicleIdentifier(Model.VehicleData)}")

+
+
+
+
+

@($"{reminder.Description}")

+
+
+ @if (reminder.Metric == ReminderMetric.Odometer || reminder.Metric == ReminderMetric.Both) + { +
+
+

@($"{translator.Translate(userLanguage, "Odometer")}")

+
+
+
+
+

@($"{reminder.Mileage}")

+
+
+ } + @if (reminder.Metric == ReminderMetric.Date || reminder.Metric == ReminderMetric.Both) + { +
+
+

@($"{translator.Translate(userLanguage, "Date")}")

+
+
+
+
+

@($"{reminder.Date.ToShortDateString()}")

+
+
+ } + @if (reminder.Metric == ReminderMetric.Both) + { +
+
+

@($"{translator.Translate(userLanguage, "Whichever comes first")}")

+
+
+ } +
+ } +} else { + +} diff --git a/wwwroot/css/site.css b/wwwroot/css/site.css index 805730b..00b1bad 100644 --- a/wwwroot/css/site.css +++ b/wwwroot/css/site.css @@ -95,6 +95,13 @@ html { overflow: visible; z-index: 1030; } + .reminderSticker { + width: 98%; + aspect-ratio: 1/1; + border-style: dashed; + border-width: 2px; + page-break-after: always; + } body { background-color: #fff !important; @@ -492,6 +499,12 @@ html[data-bs-theme="light"] .api-method:hover { object-fit: scale-down; pointer-events: none; } +.lubelogger-logo-sticker { + height: 6rem; + width: auto; + object-fit: scale-down; + pointer-events: none; +} ::-ms-reveal { display: none; diff --git a/wwwroot/js/shared.js b/wwwroot/js/shared.js index c909798..1486193 100644 --- a/wwwroot/js/shared.js +++ b/wwwroot/js/shared.js @@ -631,7 +631,16 @@ function printContainer(htmlData) { }, 500); } function printTabStickers(ids, source) { - printContainer(""); + var vehicleId = GetVehicleId().vehicleId; + $.post('/Vehicle/PrintRecordStickers', { + vehicleId: vehicleId, + recordIds: ids, + importMode: source + }, function (data) { + if (data) { + printContainer(data); + } + }) } function exportVehicleData(mode) { var vehicleId = GetVehicleId().vehicleId;