you can now print reminders.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD 2025-01-12 14:47:18 -07:00
parent c6f49bafca
commit f86acf673a
4 changed files with 105 additions and 1 deletions

View File

@ -966,6 +966,15 @@ namespace CarCareTracker.Controllers
return Json(result); return Json(result);
} }
var stickerViewModel = new StickerViewModel(); var stickerViewModel = new StickerViewModel();
if (vehicleId != default)
{
var vehicleData = _dataAccess.GetVehicleById(vehicleId);
if (vehicleData != null && vehicleData.Id != default)
{
stickerViewModel.VehicleData = vehicleData;
}
}
int recordsAdded = 0; int recordsAdded = 0;
switch (importMode) switch (importMode)
{ {
@ -1066,6 +1075,10 @@ namespace CarCareTracker.Controllers
} }
break; break;
} }
if (recordsAdded > 0)
{
return PartialView("_Stickers", stickerViewModel);
}
return Json(result); return Json(result);
} }
[HttpPost] [HttpPost]

View File

@ -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){
<div class="reminderSticker">
<div class="row justify-content-center mt-2">
<img src="@config.GetLogoUrl()" class="lubelogger-logo-sticker" />
</div>
<div class="row">
<div class="col-12 text-center">
<p class="display-1">@($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}")</p>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<p class="display-2">@($"{StaticHelper.GetVehicleIdentifier(Model.VehicleData)}")</p>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<p class="display-2 text-uppercase fw-bold">@($"{reminder.Description}")</p>
</div>
</div>
@if (reminder.Metric == ReminderMetric.Odometer || reminder.Metric == ReminderMetric.Both)
{
<div class="row">
<div class="col-12 text-center">
<p class="display-2">@($"{translator.Translate(userLanguage, "Odometer")}")</p>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<p class="display-2 fw-bold">@($"{reminder.Mileage}")</p>
</div>
</div>
}
@if (reminder.Metric == ReminderMetric.Date || reminder.Metric == ReminderMetric.Both)
{
<div class="row">
<div class="col-12 text-center">
<p class="display-2">@($"{translator.Translate(userLanguage, "Date")}")</p>
</div>
</div>
<div class="row">
<div class="col-12 text-center">
<p class="display-2 fw-bold">@($"{reminder.Date.ToShortDateString()}")</p>
</div>
</div>
}
@if (reminder.Metric == ReminderMetric.Both)
{
<div class="row">
<div class="col-12 text-center">
<p class="display-2 text-uppercase">@($"{translator.Translate(userLanguage, "Whichever comes first")}")</p>
</div>
</div>
}
</div>
}
} else {
}

View File

@ -95,6 +95,13 @@ html {
overflow: visible; overflow: visible;
z-index: 1030; z-index: 1030;
} }
.reminderSticker {
width: 98%;
aspect-ratio: 1/1;
border-style: dashed;
border-width: 2px;
page-break-after: always;
}
body { body {
background-color: #fff !important; background-color: #fff !important;
@ -492,6 +499,12 @@ html[data-bs-theme="light"] .api-method:hover {
object-fit: scale-down; object-fit: scale-down;
pointer-events: none; pointer-events: none;
} }
.lubelogger-logo-sticker {
height: 6rem;
width: auto;
object-fit: scale-down;
pointer-events: none;
}
::-ms-reveal { ::-ms-reveal {
display: none; display: none;

View File

@ -631,7 +631,16 @@ function printContainer(htmlData) {
}, 500); }, 500);
} }
function printTabStickers(ids, source) { 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) { function exportVehicleData(mode) {
var vehicleId = GetVehicleId().vehicleId; var vehicleId = GetVehicleId().vehicleId;