Example #1
0
        static void Main(string[] args)
        {
            //Pricing p = new Pricing();
            Pricing.APrice = 50;
            Pricing.BPrice = 30;
            Pricing.CPrice = 20;
            Pricing.DPrice = 15;

            Cart cart = new Cart();

            Console.WriteLine("Enter A quantity");
            cart.AQty = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Enter B quantity");
            cart.BQty = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Enter C quantity");
            cart.CQty = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Enter D quantity");
            cart.DQty = Convert.ToInt32(Console.ReadLine());
            cart.ApplyPromotions(new AStartegy());
            cart.ApplyPromotions(new BStartegy());
            cart.ApplyPromotions(new CDStartegy());

            CartPrice _cartPrice = CartPrice.getInstance();
            int       TotalPrice = _cartPrice.CalculateInvoice();


            Console.WriteLine("Total Price " + TotalPrice);
            Console.ReadLine();
        }
Example #2
0
        public static CartPrice getInstance()

        {
            if (cartPrice == null)
            {
                cartPrice = new CartPrice();
            }
            return(cartPrice);
        }
        public void ThirdTest()
        {
            Cart newCart = new Cart();

            newCart.AQty = 3;
            newCart.BQty = 5;
            newCart.CQty = 1;
            newCart.DQty = 1;
            newCart.ApplyPromotions(new AStartegy());
            newCart.ApplyPromotions(new BStartegy());
            newCart.ApplyPromotions(new CDStartegy());

            CartPrice cartPrice = CartPrice.getInstance();

            Assert.AreEqual(cartPrice.CalculateInvoice(), 280);
        }
Example #4
0
        public void ApplyPromotions(IPromationStragery promationStragery)
        {
            CartPrice _cartPrice = CartPrice.getInstance();


            int value = promationStragery.ApplyPromation(this);

            if (promationStragery.GetType() == typeof(AStartegy))
            {
                _cartPrice.ATotalPrice = value;
            }
            if (promationStragery.GetType() == typeof(BStartegy))
            {
                _cartPrice.BTotalPrice = value;
            }
            if (promationStragery.GetType() == typeof(CDStartegy))
            {
                _cartPrice.CDTotalPrice = value;
            }
        }