コード例 #1
0
        private static CartItemDTO ApplyPromotion(IList <Stocks> stockItems, ActivePromotionDTO activeDiscount, CartItemDTO cartItems)
        {
            foreach (Discount discount in activeDiscount.cummilativeDiscount)
            {
                foreach (CartItems cItem in cartItems.Items)
                {
                    if (cItem.Item == discount.Item && cItem.Unit >= 3)
                    {
                        cItem.DiscountAmount = computePrice(cItem.Unit, cItem.UnitPrice, cItem.DiscountAmount, discount.DiscountPrice, discount.Unit);
                        cItem.IsPromoApplied = true;
                    }
                }
            }

            IEnumerable <CartItems> cartitemAfterPomo = new List <CartItems>();

            foreach (CombinedPromo combinedPromo in activeDiscount.Combined)
            {
                IEnumerable <CartItems> validItems = cartItems.Items.Where(cItem => combinedPromo.Product.Any(item => cItem.Item == item.Name && !cItem.IsPromoApplied));
                cartitemAfterPomo = computeCombinedDis(validItems, combinedPromo);
            }

            cartitemAfterPomo.ToList().ForEach(item =>
            {
                cartItems.Items.Where(x => x.Item == item.Item).Select(w => w.DiscountAmount = item.DiscountAmount);
            });

            return(cartItems);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            IList <Stocks>     stockItems     = InitiateStock();
            ActivePromotionDTO activeDiscount = InitiateActivePromotion();
            CartItemDTO        cartItems      = GetCartItems();

            logMylogic(stockItems, activeDiscount, ApplyPromotion(stockItems, activeDiscount, cartItems));
        }
コード例 #3
0
 private static void logMylogic(IList <Stocks> stocks, ActivePromotionDTO promotions, CartItemDTO cartItems)
 {
     Console.WriteLine("Total Combined Promotion: " + promotions.Combined.Count());
     Console.WriteLine("Total Individual Discount Promotion: " + promotions.cummilativeDiscount.Count());
     foreach (CartItems item in cartItems.Items)
     {
         Console.WriteLine();
         Console.WriteLine("-------------------------------------------------------");
         Console.WriteLine("Item: " + item.Item);
         Console.WriteLine("UnitPrice: " + item.UnitPrice);
         Console.WriteLine("Unit: " + item.Unit);
         Console.WriteLine("IsPromoApplied: " + item.IsPromoApplied);
         Console.WriteLine("DiscountAmount: " + item.DiscountAmount);
         Console.WriteLine("TotalAmount: " + item.TotalAmount);
     }
 }