From c3b113d301909295a58c7d08ed4b4e47fc0c8a90 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 16 Jan 2023 15:50:36 -0500 Subject: [PATCH] CSR-1083 | Child part prices not included in service package quotes --- src/mixins/base-mixin.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 0bebdc372..896a663ef 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -64,17 +64,12 @@ export default { }; }, getTierOnePackagePrice(lineItems) { - let totalPrice = 0; - lineItems.forEach((lineItem) => { - const partType = lineItem.partType.toUpperCase(); - if ( - partType != partTypeStrings.FRONT_WIPER && - partType != partTypeStrings.REAR_WIPER && - partType != partTypeStrings.RAIN_DEFENSE - ) { - totalPrice += this.getTotalLineItemPrice(lineItem); - } + let lineItemsToPrice = lineItems.filter(lineItem => { + return lineItem.partType != partTypeStrings.FRONT_WIPER && + lineItem.partType != partTypeStrings.REAR_WIPER && + lineItem.partType != partTypeStrings.RAIN_DEFENSE }); + let totalPrice = this.getTotalPriceOfAllLineItemsAndChildParts(lineItemsToPrice); return totalPrice; }, filterOutFees(lineItems) { @@ -86,6 +81,16 @@ export default { }); return filteredLineItems; }, + getTotalPriceOfAllLineItemsAndChildParts(lineItems) { + let totalPrice = 0; + lineItems.forEach((lineItem) => { + totalPrice += this.getTotalLineItemPrice(lineItem); + if (lineItem.childParts) { + totalPrice += this.getTotalPriceOfAllLineItemsAndChildParts(lineItem.childParts); + } + }); + return totalPrice; + }, getTotalLineItemPrice(lineItem) { return lineItem.kitPrice + lineItem.laborAmount + lineItem.sellingPrice; },