Exemplo n.º 1
0
        public decimal ComputePrice(IProduct product, ICoupon coupon)
        {
            if (coupon.IsExpired())
            {
                return(product.SellingPrice());
            }
            var discount = product.IsOnSale() ? 0M : (product.SellingPrice() * (coupon.DiscountPercentage() / 100M));

            return(product.SellingPrice() - discount);
        }
Exemplo n.º 2
0
        public decimal ComputePrice(IProduct product, ICoupon coupon)
        {
            var memberBaseDiscount    = product.SellingPrice() * (Discount.BaseMemberDiscount / 100M);
            var memberDiscountedPrice = product.SellingPrice() - memberBaseDiscount;

            if (coupon.IsExpired())
            {
                return(memberDiscountedPrice);
            }

            return(memberDiscountedPrice - (product.SellingPrice() * (coupon.DiscountPercentage() / 100M)));
        }