mirror of
https://github.com/hargata/lubelog.git
synced 2025-12-10 00:46:08 -06:00
Add Reminder function.
This commit is contained in:
parent
c05b5e4c3d
commit
f28af456b3
@ -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)
|
||||
|
||||
@ -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; }
|
||||
|
||||
@ -44,6 +44,15 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (isNew)
|
||||
{
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="addReminderCheck">
|
||||
<label class="form-check-label" for="addReminderCheck">
|
||||
Add Reminder
|
||||
</label>
|
||||
</div>
|
||||
}
|
||||
<label for="collisionRecordFiles">Upload documents(optional)</label>
|
||||
<input onChange="uploadVehicleFilesAsync(this)" type="file" multiple accept=".png,.jpg,.jpeg,.pdf,.xls,.xlsx,.docx" class="form-control-file" id="collisionRecordFiles">
|
||||
}
|
||||
|
||||
@ -24,12 +24,12 @@
|
||||
<span class="input-group-text"><i class="bi bi-calendar-event"></i></span>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="reminderMetricOptions" id="reminderMetricOdometer" value="1" checked="@(Model.Metric == ReminderMetric.Odometer)">
|
||||
<input class="form-check-input" type="radio" name="reminderMetricOptions" id="reminderMetricOdometer" value="@(ReminderMetric.Odometer)" checked="@(Model.Metric == ReminderMetric.Odometer)">
|
||||
<label class="form-check-label" for="reminderMetricOdometer">Odometer</label>
|
||||
</div>
|
||||
<input type="number" id="reminderMileage" class="form-control" placeholder="Future Odometer Reading" value="@(isNew ? "" : Model.Mileage)">
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="reminderMetricOptions" id="reminderMetricBoth" value="2" checked="@(Model.Metric == ReminderMetric.Both)">
|
||||
<input class="form-check-input" type="radio" name="reminderMetricOptions" id="reminderMetricBoth" value="@(ReminderMetric.Both)" checked="@(Model.Metric == ReminderMetric.Both)">
|
||||
<label class="form-check-label" for="reminderMetricBoth">Whichever comes first</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -44,6 +44,15 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (isNew)
|
||||
{
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="addReminderCheck">
|
||||
<label class="form-check-label" for="addReminderCheck">
|
||||
Add Reminder
|
||||
</label>
|
||||
</div>
|
||||
}
|
||||
<label for="serviceRecordFiles">Upload documents(optional)</label>
|
||||
<input onChange="uploadVehicleFilesAsync(this)" type="file" multiple accept=".png,.jpg,.jpeg,.pdf,.xls,.xlsx,.docx" class="form-control-file" id="serviceRecordFiles">
|
||||
}
|
||||
|
||||
@ -42,6 +42,15 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (isNew)
|
||||
{
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" value="" id="addReminderCheck">
|
||||
<label class="form-check-label" for="addReminderCheck">
|
||||
Add Reminder
|
||||
</label>
|
||||
</div>
|
||||
}
|
||||
<label for="taxRecordFiles">Upload documents(optional)</label>
|
||||
<input onChange="uploadVehicleFilesAsync(this)" type="file" multiple accept=".png,.jpg,.jpeg,.pdf,.xls,.xlsx,.docx" class="form-control-file" id="taxRecordFiles">
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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() == '') {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user