diff options
author | MikunoNaka <bokuwakanojogahoshii@yahoo.com> | 2021-04-25 16:49:32 +0530 |
---|---|---|
committer | MikunoNaka <bokuwakanojogahoshii@yahoo.com> | 2021-04-25 16:49:32 +0530 |
commit | ad67099a4b332f227705dc6842874469841b4cae (patch) | |
tree | 7115e9953814f5536824355c98b0d999462a452d /src/components/Display | |
parent | 93dd72920e5a72c684f53071f4ab1972bf1e878c (diff) |
added functionality to calculate the price after applying the discount on each product
Diffstat (limited to 'src/components/Display')
-rw-r--r-- | src/components/Display/SummaryDisplay.js | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/components/Display/SummaryDisplay.js b/src/components/Display/SummaryDisplay.js index 27ebe0b..aabd111 100644 --- a/src/components/Display/SummaryDisplay.js +++ b/src/components/Display/SummaryDisplay.js @@ -1,7 +1,7 @@ import React from "react"; import "./Display.css"; -const getSummary = (items) => { +const getBasicSummary = (items) => { let totalRawPrice = 0; let totalQuantity = 0; @@ -18,8 +18,30 @@ const getSummary = (items) => { ); } +const getFullSummary = (items) => { + let totalRawPrice = 0; + let totalDiscountPrice = 0; // to be subtracted from totalRawPrice + + for (let i = 0; i < items.length; i++) { + const itemTotalPrice = items[i].TotalPrice; + const itemDiscount = items[i].Discount; + + totalRawPrice += itemTotalPrice; + totalDiscountPrice += (itemDiscount / 100) * itemTotalPrice; + } + + // TODO: add support for calculating gst from TotalPriceAfterDiscount + + return ( + { + "TotalRawPrice": totalRawPrice, + "TotalPriceAfterDiscount": totalRawPrice - totalDiscountPrice + } + ); +} + export const SummaryDisplayTR = (props) => { - const summary = getSummary(props.items); + const summary = getBasicSummary(props.items); return ( <tr className={"SummaryDisplayTR"}> @@ -36,10 +58,13 @@ export const SummaryDisplayTR = (props) => { } const SummaryDisplay = (props) => { - const summary = getSummary(props.items); + const summary = getFullSummary(props.items); return ( - <p>Total: {summary.TotalRawPrice}</p> + <> + <p>Total: {summary.TotalRawPrice}</p> + <p>Total after discount: {summary.TotalPriceAfterDiscount}</p> + </> ); } |