Exemplo n.º 1
0
        private decimal CalculateDiscount(IReadOnlyCollection <BasketItem> basketItems, Product offerProduct1, Product offerProduct2)
        {
            var totalProduct1 = TotalProducts(basketItems, offerProduct1);
            var product1Pairs = totalProduct1 / 2;

            var product2Price    = _productPriceProvider.GetPrice(offerProduct2.ProductName);
            var product2Discount = product2Price / 100 * _discountPercentage;

            var totalProduct2 = TotalProducts(basketItems, offerProduct2);

            if (product1Pairs >= totalProduct2)
            {
                return(totalProduct2 * product2Discount);
            }

            return(product1Pairs * product2Discount);
        }
Exemplo n.º 2
0
 private decimal GetRunningTotal()
 {
     return(BasketItems.Sum(item => _productPriceProvider.GetPrice(item.Product.ProductName) * item.Quantity));
 }
Exemplo n.º 3
0
        private decimal CalculateDiscount(IEnumerable <BasketItem> basketItems)
        {
            var discountSeed = TotalProducts(basketItems) / (_minimumEligibleProducts + 1);

            return(_productPriceProvider.GetPrice(_offerProduct.ProductName) * discountSeed);
        }