コード例 #1
0
        public void Initialize()
        {
            products   = CreateProducts();
            discountDb = new DiscountDb();
            var productDiscountListCD = products.Where(x => x.Name == "Lays" || x.Name == "Dairy Milk").ToList();
            var productDiscountListA  = products.Where(x => x.Name == "Colgate").ToList();
            var productDiscountListB  = products.Where(x => x.Name == "Detol").ToList();

            AssignBuyXAndYAtZDiscount(productDiscountListCD, 30, discountDb);
            AssignBuyXAtYDiscount(productDiscountListA, 3, 130, discountDb);
            AssignBuyXAtYDiscount(productDiscountListB, 2, 45, discountDb);
        }
コード例 #2
0
        private static void AssignBuyXAtYDiscount(List <IProduct> products, int buyCount, double price, IDiscountDb discountDb)
        {
            IDiscount discount1 = new BuyXAtY(buyCount, price, products);

            discount1.IsActive = true;

            discountDb.Add(discount1);
        }
コード例 #3
0
        private static void AssignBuyXAndYAtZDiscount(List <IProduct> products, double price, IDiscountDb discountDb)
        {
            IDiscount discount1 = new BuyXAndYAtZ(price, products);

            discount1.IsActive = true;

            discountDb.Add(discount1);
        }
コード例 #4
0
 public Cart(IDiscountDb discountDb)
 {
     _cart       = new List <CartItem>();
     _discountDb = discountDb;
 }