public decimal CalculatePrice(SalesLineQuantity salesLineQuantity) { decimal totalPrice = 0; int amountOfEach = salesLineQuantity.LineQuantity % QuantityStep; if (amountOfEach > 0) { totalPrice += PriceEach * amountOfEach; } int evenStep = salesLineQuantity.LineQuantity - amountOfEach; if (evenStep > 0 && QuantityStep > 0) { int dealQuantity = evenStep / QuantityStep; totalPrice += PriceStep * evenStep; } return(totalPrice); }
public decimal CalculatePrice(SalesLineQuantity salesLineQuantity) { decimal calculatedPrice = 0; int extraQuantityRemainder = salesLineQuantity.LineQuantity % QuantityBuy; if (extraQuantityRemainder > 0) { calculatedPrice += PriceEach * extraQuantityRemainder; } int remainingPurchQuantity = salesLineQuantity.LineQuantity - extraQuantityRemainder; if (remainingPurchQuantity > 0) { int amountOfDeals = remainingPurchQuantity / QuantityBuy; int qtyToDiscount = amountOfDeals * QuantityGetFree; remainingPurchQuantity -= qtyToDiscount; calculatedPrice += remainingPurchQuantity * PriceEach; } return(calculatedPrice); }
public decimal CalculatePrice(SalesLineQuantity salesLineQuantity) { float ratio = salesLineQuantity.Weight / QuantityPer; return((decimal)ratio * Price); }