diff --git a/Controllers/VehicleController.cs b/Controllers/VehicleController.cs index 4b1b37a..d89efc2 100644 --- a/Controllers/VehicleController.cs +++ b/Controllers/VehicleController.cs @@ -672,7 +672,7 @@ namespace CarCareTracker.Controllers var result = _reminderRecordDataAccess.SaveReminderRecordToVehicle(reminderRecord.ToReminderRecord()); return Json(result); } - [HttpGet] + [HttpPost] public IActionResult GetAddReminderRecordPartialView(ReminderRecordInput? reminderModel) { if (reminderModel is not null) diff --git a/Models/Reminder/ReminderRecordInput.cs b/Models/Reminder/ReminderRecordInput.cs index fb879ab..a741077 100644 --- a/Models/Reminder/ReminderRecordInput.cs +++ b/Models/Reminder/ReminderRecordInput.cs @@ -4,7 +4,7 @@ { public int Id { get; set; } public int VehicleId { get; set; } - public string Date { get; set; } + public string Date { get; set; } = DateTime.Now.AddDays(1).ToShortDateString(); public int Mileage { get; set; } public string Description { get; set; } public string Notes { get; set; } diff --git a/Views/Vehicle/_CollisionRecordModal.cshtml b/Views/Vehicle/_CollisionRecordModal.cshtml index 2038c82..2b66989 100644 --- a/Views/Vehicle/_CollisionRecordModal.cshtml +++ b/Views/Vehicle/_CollisionRecordModal.cshtml @@ -44,6 +44,15 @@ } else { + @if (isNew) + { +
+ + +
+ } } diff --git a/Views/Vehicle/_ReminderRecordModal.cshtml b/Views/Vehicle/_ReminderRecordModal.cshtml index 3903d85..19fd72f 100644 --- a/Views/Vehicle/_ReminderRecordModal.cshtml +++ b/Views/Vehicle/_ReminderRecordModal.cshtml @@ -24,12 +24,12 @@
- +
- +
diff --git a/Views/Vehicle/_ServiceRecordModal.cshtml b/Views/Vehicle/_ServiceRecordModal.cshtml index 624388f..98d27e5 100644 --- a/Views/Vehicle/_ServiceRecordModal.cshtml +++ b/Views/Vehicle/_ServiceRecordModal.cshtml @@ -44,6 +44,15 @@ } else { + @if (isNew) + { +
+ + +
+ } } diff --git a/Views/Vehicle/_TaxRecordModal.cshtml b/Views/Vehicle/_TaxRecordModal.cshtml index 13bf9ae..c3381c6 100644 --- a/Views/Vehicle/_TaxRecordModal.cshtml +++ b/Views/Vehicle/_TaxRecordModal.cshtml @@ -42,6 +42,15 @@ } else { + @if (isNew) + { +
+ + +
+ } } diff --git a/wwwroot/js/collisionrecord.js b/wwwroot/js/collisionrecord.js index d48c7c8..2cdcea2 100644 --- a/wwwroot/js/collisionrecord.js +++ b/wwwroot/js/collisionrecord.js @@ -66,6 +66,9 @@ function saveCollisionRecordToVehicle(isEdit) { successToast(isEdit ? "Repair Record Updated" : "Repair Record Added."); hideAddCollisionRecordModal(); getVehicleCollisionRecords(formValues.vehicleId); + if (formValues.addReminderRecord) { + setTimeout(function () { showAddReminderModal(formValues); }, 500); + } } else { errorToast("An error has occurred, please try again later."); } @@ -79,6 +82,7 @@ function getAndValidateCollisionRecordValues() { var collisionNotes = $("#collisionRecordNotes").val(); var vehicleId = GetVehicleId().vehicleId; var collisionRecordId = getCollisionRecordModelData().id; + var addReminderRecord = $("#addReminderCheck").is(":checked"); //validation var hasError = false; if (collisionDate.trim() == '') { //eliminates whitespace. @@ -114,7 +118,8 @@ function getAndValidateCollisionRecordValues() { description: collisionDescription, cost: collisionCost, notes: collisionNotes, - files: uploadedFiles + files: uploadedFiles, + addReminderRecord: addReminderRecord } } function deleteCollisionRecordFile(fileLocation, event) { diff --git a/wwwroot/js/reminderrecord.js b/wwwroot/js/reminderrecord.js index 231c821..30d72ea 100644 --- a/wwwroot/js/reminderrecord.js +++ b/wwwroot/js/reminderrecord.js @@ -69,16 +69,18 @@ function getAndValidateReminderRecordValues() { var reminderId = getReminderRecordModelData().id; //validation var hasError = false; - if (reminderDate.trim() == '') { //eliminates whitespace. + var reminderDateIsInvalid = reminderDate.trim() == ''; //eliminates whitespace. + var reminderMileageIsInvalid = reminderMileage.trim() == '' || parseInt(reminderMileage) < 0; + if ((reminderOption == "Both" || reminderOption == "Date") && reminderDateIsInvalid) { hasError = true; $("#reminderDate").addClass("is-invalid"); - } else { + } else if (reminderOption == "Date") { $("#reminderDate").removeClass("is-invalid"); } - if (reminderMileage.trim() == '' || parseInt(reminderMileage) < 0) { + if ((reminderOption == "Both" || reminderOption == "Odometer") && reminderMileageIsInvalid) { hasError = true; $("#reminderMileage").addClass("is-invalid"); - } else { + } else if (reminderOption == "Odometer") { $("#reminderMileage").removeClass("is-invalid"); } if (reminderDescription.trim() == '') { diff --git a/wwwroot/js/servicerecord.js b/wwwroot/js/servicerecord.js index 47dbb3c..8c6993e 100644 --- a/wwwroot/js/servicerecord.js +++ b/wwwroot/js/servicerecord.js @@ -66,6 +66,9 @@ function saveServiceRecordToVehicle(isEdit) { successToast(isEdit ? "Service Record Updated" : "Service Record Added."); hideAddServiceRecordModal(); getVehicleServiceRecords(formValues.vehicleId); + if (formValues.addReminderRecord) { + setTimeout(function () { showAddReminderModal(formValues); }, 500); + } } else { errorToast("An error has occurred, please try again later."); } @@ -79,6 +82,7 @@ function getAndValidateServiceRecordValues() { var serviceNotes = $("#serviceRecordNotes").val(); var vehicleId = GetVehicleId().vehicleId; var serviceRecordId = getServiceRecordModelData().id; + var addReminderRecord = $("#addReminderCheck").is(":checked"); //validation var hasError = false; if (serviceDate.trim() == '') { //eliminates whitespace. @@ -114,7 +118,8 @@ function getAndValidateServiceRecordValues() { description: serviceDescription, cost: serviceCost, notes: serviceNotes, - files: uploadedFiles + files: uploadedFiles, + addReminderRecord: addReminderRecord } } function deleteServiceRecordFile(fileLocation, event) { diff --git a/wwwroot/js/taxrecord.js b/wwwroot/js/taxrecord.js index 09550e0..a5b6802 100644 --- a/wwwroot/js/taxrecord.js +++ b/wwwroot/js/taxrecord.js @@ -66,6 +66,9 @@ function saveTaxRecordToVehicle(isEdit) { successToast(isEdit ? "Tax Record Updated" : "Tax Record Added."); hideAddTaxRecordModal(); getVehicleTaxRecords(formValues.vehicleId); + if (formValues.addReminderRecord) { + setTimeout(function () { showAddReminderModal(formValues); }, 500); + } } else { errorToast("An error has occurred, please try again later."); } @@ -78,6 +81,7 @@ function getAndValidateTaxRecordValues() { var taxNotes = $("#taxRecordNotes").val(); var vehicleId = GetVehicleId().vehicleId; var taxRecordId = getTaxRecordModelData().id; + var addReminderRecord = $("#addReminderCheck").is(":checked"); //validation var hasError = false; if (taxDate.trim() == '') { //eliminates whitespace. @@ -106,7 +110,8 @@ function getAndValidateTaxRecordValues() { description: taxDescription, cost: taxCost, notes: taxNotes, - files: uploadedFiles + files: uploadedFiles, + addReminderRecord: addReminderRecord } } function deleteTaxRecordFile(fileLocation, event) { diff --git a/wwwroot/js/vehicle.js b/wwwroot/js/vehicle.js index d4346f1..b960483 100644 --- a/wwwroot/js/vehicle.js +++ b/wwwroot/js/vehicle.js @@ -179,7 +179,7 @@ function uploadVehicleFilesAsync(event) { } function showAddReminderModal(reminderModalInput) { if (reminderModalInput != undefined) { - $.get('/Vehicle/GetAddReminderRecordPartialView', {reminderModel: reminderModalInput}, function (data) { + $.post('/Vehicle/GetAddReminderRecordPartialView', {reminderModel: reminderModalInput}, function (data) { $("#reminderRecordModalContent").html(data); $('#reminderDate').datepicker({ startDate: "+0d" @@ -187,7 +187,7 @@ function showAddReminderModal(reminderModalInput) { $("#reminderRecordModal").modal("show"); }); } else { - $.get('/Vehicle/GetAddReminderRecordPartialView', function (data) { + $.post('/Vehicle/GetAddReminderRecordPartialView', function (data) { $("#reminderRecordModalContent").html(data); $('#reminderDate').datepicker({ startDate: "+0d"