From 30df01ba96968cae1c4a29ed84698ed160291774 Mon Sep 17 00:00:00 2001 From: ivancheahhh Date: Tue, 2 Jan 2024 12:21:08 -0700 Subject: [PATCH] Added loader and potential scaffolding for adding file attachments --- Controllers/VehicleController.cs | 10 +- Models/ServiceRecord.cs | 5 +- Models/ServiceRecordInput.cs | 6 +- Views/Shared/_Layout.cshtml | 2 + Views/Vehicle/_ServiceRecordModal.cshtml | 89 +++++++++++++++++ Views/Vehicle/_ServiceRecords.cshtml | 51 ++-------- wwwroot/css/loader.css | 55 +++++++++++ wwwroot/js/loader.js | 10 ++ wwwroot/js/shared.js | 8 -- wwwroot/js/vehicle.js | 120 +++++------------------ 10 files changed, 201 insertions(+), 155 deletions(-) create mode 100644 Views/Vehicle/_ServiceRecordModal.cshtml create mode 100644 wwwroot/css/loader.css create mode 100644 wwwroot/js/loader.js diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index c601518..02e07b0 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -74,9 +74,15 @@ namespace CarCareTracker.Controllers return Json(result); } [HttpGet] - public IActionResult GetServiceRecordById(int serviceRecordId) + public IActionResult GetAddServiceRecordPartialView() + { + return PartialView("_ServiceRecordModal", new ServiceRecordInput()); + } + [HttpGet] + public IActionResult GetServiceRecordForEditById(int serviceRecordId) { var result = _serviceRecordDataAccess.GetServiceRecordById(serviceRecordId); + //retrieve uploaded files. //convert to Input object. var convertedResult = new ServiceRecordInput { Id = result.Id, Cost = result.Cost, @@ -86,7 +92,7 @@ namespace CarCareTracker.Controllers Notes = result.Notes, VehicleId = result.VehicleId }; - return Json(convertedResult); + return PartialView("_ServiceRecordModal", convertedResult); } [HttpPost] public IActionResult DeleteServiceRecordById(int serviceRecordId) diff --git a/Models/ServiceRecord.cs b/Models/ServiceRecord.cs index 2a80360..732f973 100644 --- a/Models/ServiceRecord.cs +++ b/Models/ServiceRecord.cs @@ -1,14 +1,13 @@ namespace CarCareTracker.Models { - public class ServiceRecordInput + public class ServiceRecord { public int Id { get; set; } public int VehicleId { get; set; } - public string Date { get; set; } + public DateTime Date { get; set; } public int Mileage { get; set; } public string Description { get; set; } public decimal Cost { get; set; } public string Notes { get; set; } - public ServiceRecord ToServiceRecord() { return new ServiceRecord { Id = Id, VehicleId = VehicleId, Date = DateTime.Parse(Date), Cost = Cost, Mileage = Mileage, Description = Description, Notes = Notes }; } } } diff --git a/Models/ServiceRecordInput.cs b/Models/ServiceRecordInput.cs index 732f973..520d1c0 100644 --- a/Models/ServiceRecordInput.cs +++ b/Models/ServiceRecordInput.cs @@ -1,13 +1,15 @@ namespace CarCareTracker.Models { - public class ServiceRecord + public class ServiceRecordInput { public int Id { get; set; } public int VehicleId { get; set; } - public DateTime Date { get; set; } + public string Date { get; set; } public int Mileage { get; set; } public string Description { get; set; } public decimal Cost { get; set; } public string Notes { get; set; } + public List Files { get; set; } = new List(); + public ServiceRecord ToServiceRecord() { return new ServiceRecord { Id = Id, VehicleId = VehicleId, Date = DateTime.Parse(Date), Cost = Cost, Mileage = Mileage, Description = Description, Notes = Notes }; } } } diff --git a/Views/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml index d598cd9..fbca0bd 100644 --- a/Views/Shared/_Layout.cshtml +++ b/Views/Shared/_Layout.cshtml @@ -8,12 +8,14 @@ + + @await RenderSectionAsync("Scripts", required: false) diff --git a/Views/Vehicle/_ServiceRecordModal.cshtml b/Views/Vehicle/_ServiceRecordModal.cshtml new file mode 100644 index 0000000..2a06978 --- /dev/null +++ b/Views/Vehicle/_ServiceRecordModal.cshtml @@ -0,0 +1,89 @@ +@model ServiceRecordInput + + + + \ No newline at end of file diff --git a/Views/Vehicle/_ServiceRecords.cshtml b/Views/Vehicle/_ServiceRecords.cshtml index 7922654..252cc32 100644 --- a/Views/Vehicle/_ServiceRecords.cshtml +++ b/Views/Vehicle/_ServiceRecords.cshtml @@ -8,32 +8,25 @@
- +
- - + @foreach (ServiceRecord serviceRecord in Model) { - + - - + } @@ -42,38 +35,10 @@ -
Date Mileage Description CostNotesActionsNotes
@serviceRecord.Date.ToShortDateString() @serviceRecord.Mileage @serviceRecord.Description @serviceRecord.Cost.ToString("C")@serviceRecord.Notes -
- - -
-
@serviceRecord.Notes