function getYear() { return $("#yearOption").val() ?? '0'; } function generateVehicleHistoryReport() { var vehicleId = GetVehicleId().vehicleId; $.get(`/Vehicle/GetVehicleHistory?vehicleId=${vehicleId}`, function (data) { if (data) { $("#vehicleHistoryReport").html(data); setTimeout(function () { window.print(); }, 500); } }) } function updateCheckAll() { var isChecked = $("#selectAllExpenseCheck").is(":checked"); $(".reportCheckBox").prop('checked', isChecked); setDebounce(refreshBarChart); } function updateCheck() { setDebounce(refreshBarChart); var allIsChecked = $(".reportCheckBox:checked").length == 6; $("#selectAllExpenseCheck").prop("checked", allIsChecked); } function refreshMPGChart() { var vehicleId = GetVehicleId().vehicleId; var year = getYear(); $.post('/Vehicle/GetMonthMPGByVehicle', {vehicleId: vehicleId, year: year}, function (data) { $("#monthFuelMileageReportContent").html(data); }) } function setSelectedMetrics() { var selectedMetricCheckBoxes = []; $(".reportCheckBox:checked").map((index, elem) => { selectedMetricCheckBoxes.push(elem.id); }); var yearMetric = $('#yearOption').val(); var reminderMetric = $("#reminderOption").val(); sessionStorage.setItem("selectedMetricCheckBoxes", JSON.stringify(selectedMetricCheckBoxes)); sessionStorage.setItem("yearMetric", yearMetric); sessionStorage.setItem("reminderMetric", reminderMetric); } function getSelectedMetrics() { var selectedMetricCheckBoxes = sessionStorage.getItem("selectedMetricCheckBoxes"); var yearMetric = sessionStorage.getItem("yearMetric"); var reminderMetric = sessionStorage.getItem("reminderMetric"); if (selectedMetricCheckBoxes != null && yearMetric != null && reminderMetric != null) { selectedMetricCheckBoxes = JSON.parse(selectedMetricCheckBoxes); $(".reportCheckBox").prop('checked', false); $("#selectAllExpenseCheck").prop("checked", false); selectedMetricCheckBoxes.map(x => { $(`#${x}`).prop('checked', true); }); if (selectedMetricCheckBoxes.length == 6) { $("#selectAllExpenseCheck").prop("checked", true); } //check if option is available if ($("#yearOption").has(`option[value=${yearMetric}]`).length > 0) { $('#yearOption').val(yearMetric); } $("#reminderOption").val(reminderMetric); //retrieve data. yearUpdated(); updateReminderPie(); return true; } return false; } function refreshBarChart() { var selectedMetrics = []; var vehicleId = GetVehicleId().vehicleId; var year = getYear(); if ($("#serviceExpenseCheck").is(":checked")) { selectedMetrics.push('ServiceRecord'); } if ($("#repairExpenseCheck").is(":checked")) { selectedMetrics.push('RepairRecord'); } if ($("#upgradeExpenseCheck").is(":checked")) { selectedMetrics.push('UpgradeRecord'); } if ($("#gasExpenseCheck").is(":checked")) { selectedMetrics.push('GasRecord'); } if ($("#taxExpenseCheck").is(":checked")) { selectedMetrics.push('TaxRecord'); } if ($("#odometerExpenseCheck").is(":checked")) { selectedMetrics.push('OdometerRecord'); } $.post('/Vehicle/GetCostByMonthByVehicle', { vehicleId: vehicleId, selectedMetrics: selectedMetrics, year: year }, function (data) { $("#gasCostByMonthReportContent").html(data); refreshMPGChart(); }); setSelectedMetrics(); } function updateReminderPie() { var vehicleId = GetVehicleId().vehicleId; var daysToAdd = $("#reminderOption").val(); setSelectedMetrics(); $.get(`/Vehicle/GetReminderMakeUpByVehicle?vehicleId=${vehicleId}`, { daysToAdd: daysToAdd }, function (data) { $("#reminderMakeUpReportContent").html(data); }); } //called when year selected is changed. function yearUpdated() { var vehicleId = GetVehicleId().vehicleId; var year = getYear(); $.get(`/Vehicle/GetCostMakeUpForVehicle?vehicleId=${vehicleId}`, { year: year }, function (data) { $("#costMakeUpReportContent").html(data); refreshBarChart(); }) } function refreshCollaborators() { var vehicleId = GetVehicleId().vehicleId; $.get(`/Vehicle/GetCollaboratorsForVehicle?vehicleId=${vehicleId}`, function (data) { $("#collaboratorContent").html(data); }); } function exportAttachments() { Swal.fire({ title: 'Export Attachments', html: `