Merge branch 'main' into Hargata/consolidated.report

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD
2024-01-10 09:23:21 -07:00
53 changed files with 1663 additions and 265 deletions

View File

@@ -103,7 +103,7 @@ function getAndValidateCollisionRecordValues() {
} else {
$("#collisionRecordDescription").removeClass("is-invalid");
}
if (collisionCost.trim() == '') {
if (collisionCost.trim() == '' || !isValidMoney(collisionCost)) {
hasError = true;
$("#collisionRecordCost").addClass("is-invalid");
} else {

View File

@@ -77,6 +77,7 @@ function getAndValidateGasRecordValues() {
var gasGallons = $("#gasRecordGallons").val();
var gasCost = $("#gasRecordCost").val();
var gasIsFillToFull = $("#gasIsFillToFull").is(":checked");
var gasIsMissed = $("#gasIsMissed").is(":checked");
var vehicleId = GetVehicleId().vehicleId;
var gasRecordId = getGasRecordModelData().id;
//validation
@@ -99,7 +100,7 @@ function getAndValidateGasRecordValues() {
} else {
$("#gasRecordGallons").removeClass("is-invalid");
}
if (gasCost.trim() == '') {
if (gasCost.trim() == '' || !isValidMoney(gasCost)) {
hasError = true;
$("#gasRecordCost").addClass("is-invalid");
} else {
@@ -114,6 +115,7 @@ function getAndValidateGasRecordValues() {
gallons: gasGallons,
cost: gasCost,
files: uploadedFiles,
isFillToFull: gasIsFillToFull
isFillToFull: gasIsFillToFull,
missedFuelUp: gasIsMissed
}
}

90
wwwroot/js/note.js Normal file
View File

@@ -0,0 +1,90 @@
function showAddNoteModal() {
$.get('/Vehicle/GetAddNotePartialView', function (data) {
if (data) {
$("#noteModalContent").html(data);
$('#noteModal').modal('show');
}
});
}
function showEditNoteModal(noteId) {
$.get(`/Vehicle/GetNoteForEditById?noteId=${noteId}`, function (data) {
if (data) {
$("#noteModalContent").html(data);
$('#noteModal').modal('show');
}
});
}
function hideAddNoteModal() {
$('#noteModal').modal('hide');
}
function deleteNote(noteId) {
$("#workAroundInput").show();
Swal.fire({
title: "Confirm Deletion?",
text: "Deleted Notes cannot be restored.",
showCancelButton: true,
confirmButtonText: "Delete",
confirmButtonColor: "#dc3545"
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteNoteById?noteId=${noteId}`, function (data) {
if (data) {
hideAddNoteModal();
successToast("Note Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleNotes(vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
});
} else {
$("#workAroundInput").hide();
}
});
}
function saveNoteToVehicle(isEdit) {
//get values
var formValues = getAndValidateNoteValues();
//validate
if (formValues.hasError) {
errorToast("Please check the form data");
return;
}
//save to db.
$.post('/Vehicle/SaveNoteToVehicleId', { note: formValues }, function (data) {
if (data) {
successToast(isEdit ? "Note Updated" : "Note Added.");
hideAddNoteModal();
getVehicleNotes(formValues.vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
})
}
function getAndValidateNoteValues() {
var noteDescription = $("#noteDescription").val();
var noteText = $("#noteTextArea").val();
var vehicleId = GetVehicleId().vehicleId;
var noteId = getNoteModelData().id;
//validation
var hasError = false;
if (noteDescription.trim() == '') { //eliminates whitespace.
hasError = true;
$("#noteDescription").addClass("is-invalid");
} else {
$("#noteDescription").removeClass("is-invalid");
}
if (noteText.trim() == '') {
hasError = true;
$("#noteTextArea").addClass("is-invalid");
} else {
$("#noteTextArea").removeClass("is-invalid");
}
return {
id: noteId,
hasError: hasError,
vehicleId: vehicleId,
description: noteDescription,
noteText: noteText
}
}

View File

@@ -103,7 +103,7 @@ function getAndValidateServiceRecordValues() {
} else {
$("#serviceRecordDescription").removeClass("is-invalid");
}
if (serviceCost.trim() == '') {
if (serviceCost.trim() == '' || !isValidMoney(serviceCost)) {
hasError = true;
$("#serviceRecordCost").addClass("is-invalid");
} else {

View File

@@ -110,4 +110,9 @@ function uploadFileAsync(event) {
}
}
});
}
function isValidMoney(input) {
const euRegex = /^\$?(?=\(.*\)|[^()]*$)\(?\d{1,3}(\.?\d{3})?(,\d{1,3}?)?\)?$/;
const usRegex = /^\$?(?=\(.*\)|[^()]*$)\(?\d{1,3}(,?\d{3})?(\.\d{1,3}?)?\)?$/;
return (euRegex.test(input) || usRegex.test(input));
}

View File

@@ -96,7 +96,7 @@ function getAndValidateTaxRecordValues() {
} else {
$("#taxRecordDescription").removeClass("is-invalid");
}
if (taxCost.trim() == '') {
if (taxCost.trim() == '' || !isValidMoney(taxCost)) {
hasError = true;
$("#taxRecordCost").addClass("is-invalid");
} else {

124
wwwroot/js/upgraderecord.js Normal file
View File

@@ -0,0 +1,124 @@
function showAddUpgradeRecordModal() {
$.get('/Vehicle/GetAddUpgradeRecordPartialView', function (data) {
if (data) {
$("#upgradeRecordModalContent").html(data);
//initiate datepicker
$('#upgradeRecordDate').datepicker({
endDate: "+0d",
format: getShortDatePattern().pattern
});
$('#upgradeRecordModal').modal('show');
}
});
}
function showEditUpgradeRecordModal(upgradeRecordId) {
$.get(`/Vehicle/GetUpgradeRecordForEditById?upgradeRecordId=${upgradeRecordId}`, function (data) {
if (data) {
$("#upgradeRecordModalContent").html(data);
//initiate datepicker
$('#upgradeRecordDate').datepicker({
endDate: "+0d",
format: getShortDatePattern().pattern
});
$('#upgradeRecordModal').modal('show');
}
});
}
function hideAddUpgradeRecordModal() {
$('#upgradeRecordModal').modal('hide');
}
function deleteUpgradeRecord(upgradeRecordId) {
$("#workAroundInput").show();
Swal.fire({
title: "Confirm Deletion?",
text: "Deleted Upgrade Records cannot be restored.",
showCancelButton: true,
confirmButtonText: "Delete",
confirmButtonColor: "#dc3545"
}).then((result) => {
if (result.isConfirmed) {
$.post(`/Vehicle/DeleteUpgradeRecordById?upgradeRecordId=${upgradeRecordId}`, function (data) {
if (data) {
hideAddUpgradeRecordModal();
successToast("Upgrade Record Deleted");
var vehicleId = GetVehicleId().vehicleId;
getVehicleUpgradeRecords(vehicleId);
} else {
errorToast("An error has occurred, please try again later.");
}
});
} else {
$("#workAroundInput").hide();
}
});
}
function saveUpgradeRecordToVehicle(isEdit) {
//get values
var formValues = getAndValidateUpgradeRecordValues();
//validate
if (formValues.hasError) {
errorToast("Please check the form data");
return;
}
//save to db.
$.post('/Vehicle/SaveUpgradeRecordToVehicleId', { upgradeRecord: formValues }, function (data) {
if (data) {
successToast(isEdit ? "Upgrade Record Updated" : "Upgrade Record Added.");
hideAddUpgradeRecordModal();
getVehicleUpgradeRecords(formValues.vehicleId);
if (formValues.addReminderRecord) {
setTimeout(function () { showAddReminderModal(formValues); }, 500);
}
} else {
errorToast("An error has occurred, please try again later.");
}
})
}
function getAndValidateUpgradeRecordValues() {
var upgradeDate = $("#upgradeRecordDate").val();
var upgradeMileage = $("#upgradeRecordMileage").val();
var upgradeDescription = $("#upgradeRecordDescription").val();
var upgradeCost = $("#upgradeRecordCost").val();
var upgradeNotes = $("#upgradeRecordNotes").val();
var vehicleId = GetVehicleId().vehicleId;
var upgradeRecordId = getUpgradeRecordModelData().id;
var addReminderRecord = $("#addReminderCheck").is(":checked");
//validation
var hasError = false;
if (upgradeDate.trim() == '') { //eliminates whitespace.
hasError = true;
$("#upgradeRecordDate").addClass("is-invalid");
} else {
$("#upgradeRecordDate").removeClass("is-invalid");
}
if (upgradeMileage.trim() == '' || parseInt(upgradeMileage) < 0) {
hasError = true;
$("#upgradeRecordMileage").addClass("is-invalid");
} else {
$("#upgradeRecordMileage").removeClass("is-invalid");
}
if (upgradeDescription.trim() == '') {
hasError = true;
$("#upgradeRecordDescription").addClass("is-invalid");
} else {
$("#upgradeRecordDescription").removeClass("is-invalid");
}
if (upgradeCost.trim() == '' || !isValidMoney(upgradeCost)) {
hasError = true;
$("#upgradeRecordCost").addClass("is-invalid");
} else {
$("#upgradeRecordCost").removeClass("is-invalid");
}
return {
id: upgradeRecordId,
hasError: hasError,
vehicleId: vehicleId,
date: upgradeDate,
mileage: upgradeMileage,
description: upgradeDescription,
cost: upgradeCost,
notes: upgradeNotes,
files: uploadedFiles,
addReminderRecord: addReminderRecord
}
}

View File

@@ -1,16 +1,6 @@
function returnToGarage() {
window.location.href = '/Home';
}
function saveVehicleNote(vehicleId) {
var noteText = $("#noteTextArea").val();
$.post('/Vehicle/SaveNoteToVehicle', { vehicleId: vehicleId, noteText: noteText }, function (data) {
if (data) {
successToast("Note saved successfully.");
} else {
errorToast("An error has occurred, please try again later.");
}
})
}
$(document).ready(function () {
var vehicleId = GetVehicleId().vehicleId;
//bind tabs
@@ -20,7 +10,7 @@ $(document).ready(function () {
getVehicleServiceRecords(vehicleId);
break;
case "notes-tab":
getVehicleNote(vehicleId);
getVehicleNotes(vehicleId);
break;
case "gas-tab":
getVehicleGasRecords(vehicleId);
@@ -37,6 +27,9 @@ $(document).ready(function () {
case "reminder-tab":
getVehicleReminders(vehicleId);
break;
case "upgrade-tab":
getVehicleUpgradeRecords(vehicleId);
break;
}
switch (e.relatedTarget.id) { //clear out previous tabs with grids in them to help with performance
case "servicerecord-tab":
@@ -57,15 +50,21 @@ $(document).ready(function () {
case "reminder-tab":
$("#reminder-tab-pane").html("");
break;
case "upgrade-tab":
$("#upgrade-tab-pane").html("");
break;
case "notes-tab":
$("#notes-tab-pane").html("");
break;
}
});
getVehicleServiceRecords(vehicleId);
});
function getVehicleNote(vehicleId) {
$.get(`/Vehicle/GetNoteByVehicleId?vehicleId=${vehicleId}`, function (data) {
function getVehicleNotes(vehicleId) {
$.get(`/Vehicle/GetNotesByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#noteTextArea").val(data);
$("#notes-tab-pane").html(data);
}
});
}
@@ -75,7 +74,15 @@ function getVehicleServiceRecords(vehicleId) {
$("#servicerecord-tab-pane").html(data);
getVehicleHaveImportantReminders(vehicleId);
}
})
});
}
function getVehicleUpgradeRecords(vehicleId) {
$.get(`/Vehicle/GetUpgradeRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#upgrade-tab-pane").html(data);
getVehicleHaveImportantReminders(vehicleId);
}
});
}
function getVehicleGasRecords(vehicleId) {
$.get(`/Vehicle/GetGasRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
@@ -97,7 +104,6 @@ function getVehicleTaxRecords(vehicleId) {
$.get(`/Vehicle/GetTaxRecordsByVehicleId?vehicleId=${vehicleId}`, function (data) {
if (data) {
$("#tax-tab-pane").html(data);
getVehicleHaveImportantReminders(vehicleId);
}
});
}
@@ -127,6 +133,16 @@ function editVehicle(vehicleId) {
function hideEditVehicleModal() {
$('#editVehicleModal').modal('hide');
}
function exportVehicleData(mode) {
var vehicleId = GetVehicleId().vehicleId;
$.get('/Vehicle/ExportFromVehicleToCsv', { vehicleId: vehicleId, mode: mode }, function (data) {
if (!data) {
errorToast("An error occurred, please try again later");
} else {
window.location.href = data;
}
});
}
function showBulkImportModal(mode) {
$.get(`/Vehicle/GetBulkImportModalPartialView?mode=${mode}`, function (data) {
if (data) {