added functionality to modify odometer value when adding new odometer records.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-03-15 12:49:02 -06:00
parent 618107e515
commit 82b0fba99a
9 changed files with 31 additions and 2 deletions

View File

@@ -154,6 +154,7 @@ namespace CarCareTracker.Controllers
_planRecordDataAccess.DeleteAllPlanRecordsByVehicleId(vehicleId) &&
_planRecordTemplateDataAccess.DeleteAllPlanRecordTemplatesByVehicleId(vehicleId) &&
_supplyRecordDataAccess.DeleteAllSupplyRecordsByVehicleId(vehicleId) &&
_odometerRecordDataAccess.DeleteAllOdometerRecordsByVehicleId(vehicleId) &&
_userLogic.DeleteAllAccessToVehicle(vehicleId) &&
_dataAccess.DeleteVehicle(vehicleId);
return Json(result);

View File

@@ -169,7 +169,12 @@
</div>
<script>
function GetVehicleId() {
return { vehicleId: @Model.Id};
return {
vehicleId: @Model.Id,
hasOdometerAdjustment: @Model.HasOdometerAdjustment.ToString().ToLower(),
odometerDifference: decodeHTMLEntities('@Model.OdometerDifference'),
odometerMultiplier: decodeHTMLEntities('@Model.OdometerMultiplier')
};
}
function GetDefaultTab() {
return { tab: "@userConfig.DefaultTab" };

View File

@@ -86,6 +86,8 @@ function getAndValidateCollisionRecordValues() {
var vehicleId = GetVehicleId().vehicleId;
var collisionRecordId = getCollisionRecordModelData().id;
var addReminderRecord = $("#addReminderCheck").is(":checked");
//Odometer Adjustments
collisionMileage = GetAdjustedOdometer(collisionRecordId, collisionMileage);
//validation
var hasError = false;
var extraFields = getAndValidateExtraFields();

View File

@@ -85,6 +85,8 @@ function getAndValidateGasRecordValues() {
var gasTags = $("#gasRecordTag").val();
var vehicleId = GetVehicleId().vehicleId;
var gasRecordId = getGasRecordModelData().id;
//Odometer Adjustments
gasMileage = GetAdjustedOdometer(gasRecordId, gasMileage);
//validation
var hasError = false;
var extraFields = getAndValidateExtraFields();

View File

@@ -84,6 +84,8 @@ function getAndValidateOdometerRecordValues() {
var serviceTags = $("#odometerRecordTag").val();
var vehicleId = GetVehicleId().vehicleId;
var odometerRecordId = getOdometerRecordModelData().id;
//Odometer Adjustments
serviceMileage = GetAdjustedOdometer(odometerRecordId, serviceMileage);
//validation
var hasError = false;
var extraFields = getAndValidateExtraFields();

View File

@@ -241,7 +241,9 @@ function updatePlanRecordProgress(newProgress) {
},
}).then(function (result) {
if (result.isConfirmed) {
$.post('/Vehicle/UpdatePlanRecordProgress', { planRecordId: draggedId, planProgress: newProgress, odometer: result.value.odometer }, function (data) {
//Odometer Adjustments
var adjustedOdometer = GetAdjustedOdometer(0, result.value.odometer);
$.post('/Vehicle/UpdatePlanRecordProgress', { planRecordId: draggedId, planProgress: newProgress, odometer: adjustedOdometer }, function (data) {
if (data) {
successToast("Plan Progress Updated");
var vehicleId = GetVehicleId().vehicleId;

View File

@@ -86,6 +86,8 @@ function getAndValidateServiceRecordValues() {
var vehicleId = GetVehicleId().vehicleId;
var serviceRecordId = getServiceRecordModelData().id;
var addReminderRecord = $("#addReminderCheck").is(":checked");
//Odometer Adjustments
serviceMileage = GetAdjustedOdometer(serviceRecordId, serviceMileage);
//validation
var hasError = false;
var extraFields = getAndValidateExtraFields();

View File

@@ -86,6 +86,8 @@ function getAndValidateUpgradeRecordValues() {
var vehicleId = GetVehicleId().vehicleId;
var upgradeRecordId = getUpgradeRecordModelData().id;
var addReminderRecord = $("#addReminderCheck").is(":checked");
//Odometer Adjustments
upgradeMileage = GetAdjustedOdometer(upgradeRecordId, upgradeMileage);
//validation
var hasError = false;
var extraFields = getAndValidateExtraFields();

View File

@@ -490,4 +490,15 @@ function getRecordsDeltaStats(recordIds) {
,
icon: "info"
});
}
function GetAdjustedOdometer(id, odometerInput) {
//if editing an existing record or vehicle does not have odometer adjustment or input is NaN then just return the original input.
if (id > 0 || !GetVehicleId().hasOdometerAdjustment || isNaN(odometerInput)) {
return odometerInput;
}
//apply odometer adjustments first.
var adjustedOdometer = parseInt(odometerInput) + parseInt(GetVehicleId().odometerDifference);
//apply odometer multiplier.
adjustedOdometer *= globalParseFloat(GetVehicleId().odometerMultiplier);
return adjustedOdometer.toFixed(0);
}