Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public decimal CalculatePrice(SalesLineQuantity salesLineQuantity)
        {
            float ratio = salesLineQuantity.Weight / QuantityPer;

            return((decimal)ratio * Price);
        }