Exemplo n.º 1
0
        static void Main(string[] args)
        {
            #region
            UnitPrice objUnitPrice = new UnitPrice();

            SKUs obj1 = new SKUs();
            obj1.SKUId    = 'A';
            obj1.quantity = 3;

            SKUs obj2 = new SKUs();
            obj2.SKUId    = 'B';
            obj2.quantity = 5;

            SKUs obj3 = new SKUs();
            obj3.SKUId    = 'C';
            obj3.quantity = 1;

            SKUs obj4 = new SKUs();
            obj4.SKUId    = 'D';
            obj4.quantity = 1;

            //SKUs obj5 = new SKUs();
            //obj5.SKUId = 'E';
            //obj5.quantity = 2;

            //SKUs obj6 = new SKUs();
            //obj6.SKUId = 'F';
            //obj6.quantity = 5;

            Cart objCart = new Cart();
            objCart.objSKUs.Add(obj1);
            objCart.objSKUs.Add(obj2);
            objCart.objSKUs.Add(obj3);
            objCart.objSKUs.Add(obj4);
            //objCart.objSKUs.Add(obj5);
            //objCart.objSKUs.Add(obj6);

            double cartValue = Cart.CalculateCartValue(objCart, objUnitPrice);
            #endregion
        }
        public double ApplyPromotion(Cart objCart, UnitPrice objUnitPrice, double cartValue)
        {
            double promotionValue = 0;

            int quantitySKU1 = 0;
            int quantitySKU2 = 0;

            foreach (SKUs obj in objCart.objSKUs)
            {
                if (obj.SKUId == _SKU1)
                {
                    quantitySKU1 = obj.quantity;
                }
                if (obj.SKUId == _SKU2)
                {
                    quantitySKU2 = obj.quantity;
                }
            }

            if (quantitySKU1 == quantitySKU2)
            {
                promotionValue = quantitySKU1 * _clubValue;
            }
            else if (quantitySKU1 > quantitySKU2)
            {
                int i = quantitySKU1 - quantitySKU2;
                promotionValue = (quantitySKU1 - i) * _clubValue + i * objUnitPrice.dictUnitPrice[_SKU1];
            }
            else
            {
                int i = quantitySKU2 - quantitySKU1;
                promotionValue = (quantitySKU2 - i) * _clubValue + i * objUnitPrice.dictUnitPrice[_SKU2];
            }

            return(cartValue + promotionValue);
        }