added functionality to modify odometer value when adding new odometer records.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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" };
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user