From ab34d1682c9f24db1363ac610d1257f5b4b6e13d Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Wed, 15 Jan 2025 09:49:59 -0700 Subject: [PATCH] Added ability to print individual service, repair, and upgrade records. --- Controllers/VehicleController.cs | 6 ++-- Models/Shared/StickerViewModel.cs | 1 + Views/Vehicle/_CollisionRecords.cshtml | 2 ++ Views/Vehicle/_ServiceRecords.cshtml | 2 ++ Views/Vehicle/_Stickers.cshtml | 47 +++++++++++++++++++++++++- Views/Vehicle/_UpgradeRecords.cshtml | 2 ++ Views/Vehicle/_VehicleHistory.cshtml | 2 +- wwwroot/css/site.css | 7 ++++ wwwroot/js/shared.js | 12 +++++++ 9 files changed, 76 insertions(+), 5 deletions(-) diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 7612d5d..777273c 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -982,7 +982,7 @@ namespace CarCareTracker.Controllers { foreach (int recordId in recordIds) { - //stickerViewModel.VehicleRecords.ServiceRecords.Add(_serviceRecordDataAccess.GetServiceRecordById(recordId)); + stickerViewModel.GenericRecords.Add(_serviceRecordDataAccess.GetServiceRecordById(recordId)); recordsAdded++; } @@ -992,7 +992,7 @@ namespace CarCareTracker.Controllers { foreach (int recordId in recordIds) { - //stickerViewModel.VehicleRecords.CollisionRecords.Add(_collisionRecordDataAccess.GetCollisionRecordById(recordId)); + stickerViewModel.GenericRecords.Add(_collisionRecordDataAccess.GetCollisionRecordById(recordId)); recordsAdded++; } } @@ -1001,7 +1001,7 @@ namespace CarCareTracker.Controllers { foreach (int recordId in recordIds) { - //stickerViewModel.VehicleRecords.UpgradeRecords.Add(_upgradeRecordDataAccess.GetUpgradeRecordById(recordId)); + stickerViewModel.GenericRecords.Add(_upgradeRecordDataAccess.GetUpgradeRecordById(recordId)); recordsAdded++; } } diff --git a/Models/Shared/StickerViewModel.cs b/Models/Shared/StickerViewModel.cs index 985b57e..d0e2a05 100644 --- a/Models/Shared/StickerViewModel.cs +++ b/Models/Shared/StickerViewModel.cs @@ -4,5 +4,6 @@ { public Vehicle VehicleData { get; set; } = new Vehicle(); public List ReminderRecords { get; set; } = new List(); + public List GenericRecords { get; set; } = new List(); } } diff --git a/Views/Vehicle/_CollisionRecords.cshtml b/Views/Vehicle/_CollisionRecords.cshtml index c6a0251..8127cac 100644 --- a/Views/Vehicle/_CollisionRecords.cshtml +++ b/Views/Vehicle/_CollisionRecords.cshtml @@ -185,6 +185,8 @@
  • @translator.Translate(userLanguage, "Duplicate To Vehicle")
  • @translator.Translate(userLanguage, "Create Odometer")
  • +
  • @translator.Translate(userLanguage, "Print")
  • +
  • @translator.Translate(userLanguage, "Delete")
  • @translator.Translate(userLanguage, "Statistics")
  • diff --git a/Views/Vehicle/_ServiceRecords.cshtml b/Views/Vehicle/_ServiceRecords.cshtml index 41535bc..1fc6be5 100644 --- a/Views/Vehicle/_ServiceRecords.cshtml +++ b/Views/Vehicle/_ServiceRecords.cshtml @@ -183,6 +183,8 @@
  • @translator.Translate(userLanguage, "Duplicate To Vehicle")
  • @translator.Translate(userLanguage, "Create Odometer")
  • +
  • @translator.Translate(userLanguage, "Print")
  • +
  • @translator.Translate(userLanguage, "Delete")
  • @translator.Translate(userLanguage, "Statistics")
  • diff --git a/Views/Vehicle/_Stickers.cshtml b/Views/Vehicle/_Stickers.cshtml index fbc1997..9b6d414 100644 --- a/Views/Vehicle/_Stickers.cshtml +++ b/Views/Vehicle/_Stickers.cshtml @@ -64,6 +64,51 @@ } } -} else { +} else if (Model.GenericRecords.Any()){ + @foreach(GenericRecord genericRecord in Model.GenericRecords){ +
    +
    + +
    +
    +
    +
    +
      +
    • + @($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}") +
    • +
    • + @($"{StaticHelper.GetVehicleIdentifier(Model.VehicleData)}") +
    • +
    +
    +
    +
      +
    • + @($"{translator.Translate(userLanguage, "Description")}: {genericRecord.Description}") +
    • +
    • + @($"{translator.Translate(userLanguage, "Date")}: {genericRecord.Date.ToShortDateString()}") +
    • +
    • + @($"{translator.Translate(userLanguage, "Odometer")}: {genericRecord.Mileage}") +
    • +
    • + @($"{translator.Translate(userLanguage, "Cost")}: {genericRecord.Cost.ToString("C")}") +
    • +
    +
    +
    +
    +
    +
    +
    + @(genericRecord.Notes) +
    +
    +
    +
    + } + } diff --git a/Views/Vehicle/_UpgradeRecords.cshtml b/Views/Vehicle/_UpgradeRecords.cshtml index 6f02dd2..6e05177 100644 --- a/Views/Vehicle/_UpgradeRecords.cshtml +++ b/Views/Vehicle/_UpgradeRecords.cshtml @@ -184,6 +184,8 @@
  • @translator.Translate(userLanguage, "Duplicate To Vehicle")
  • @translator.Translate(userLanguage, "Create Odometer")
  • +
  • @translator.Translate(userLanguage, "Print")
  • +
  • @translator.Translate(userLanguage, "Delete")
  • @translator.Translate(userLanguage, "Statistics")
  • diff --git a/Views/Vehicle/_VehicleHistory.cshtml b/Views/Vehicle/_VehicleHistory.cshtml index b617dbd..ab41063 100644 --- a/Views/Vehicle/_VehicleHistory.cshtml +++ b/Views/Vehicle/_VehicleHistory.cshtml @@ -8,7 +8,7 @@ var userLanguage = userConfig.UserLanguage; var extraFields = Model.ReportParameters.ExtraFields; } -
    +
    diff --git a/wwwroot/css/site.css b/wwwroot/css/site.css index 00b1bad..80e3e7c 100644 --- a/wwwroot/css/site.css +++ b/wwwroot/css/site.css @@ -102,6 +102,13 @@ html { border-width: 2px; page-break-after: always; } + .recordSticker { + height: 100%; + page-break-after: always; + } + .stickerNote { + height:100%; + } body { background-color: #fff !important; diff --git a/wwwroot/js/shared.js b/wwwroot/js/shared.js index 1486193..81086ff 100644 --- a/wwwroot/js/shared.js +++ b/wwwroot/js/shared.js @@ -608,6 +608,16 @@ function toggleMarkDownOverlay(textAreaName) { textArea.parent().children(`label[for=${textAreaName}]`).append(overlayDiv); } } +function setMarkDownStickerNotes() { + var stickerContainers = $(".stickerNote"); + if (stickerContainers.length > 0) { + stickerContainers.map((index, elem) => { + let originalStickerNote = $(elem).html().trim(); + let markDownStickerNote = markdown(originalStickerNote); + $(elem).html(markDownStickerNote); + }); + } +} function showLinks(e) { var textAreaName = $(e.parentElement).attr("for"); toggleMarkDownOverlay(textAreaName); @@ -618,6 +628,7 @@ function printTab() { }, 500); } function printContainer(htmlData) { + $(".vehicleDetailTabContainer").addClass("hideOnPrint"); $(".stickerPrintContainer").addClass("showOnPrint"); $(".stickerPrintContainer").removeClass("hideOnPrint"); $(".stickerPrintContainer").html(htmlData); @@ -626,6 +637,7 @@ function printContainer(htmlData) { setTimeout(function () { $(".stickerPrintContainer").removeClass("showOnPrint"); $(".stickerPrintContainer").addClass("hideOnPrint"); + $(".vehicleDetailTabContainer").removeClass("hideOnPrint"); $(".stickerPrintContainer").html(""); }, 1000); }, 500);