Exemple #1
0
 public override Cart ApplyDiscount()
 {
     // custom processing
     if (Cart.LineItems.Any(x => ApplicableProductTypes.Contains(x.Product.ProductType) && x.Quantity >= MinAmountOfItems))
     {
         foreach (var lineItem in Cart.LineItems)
         {
             lineItem.DiscountAmount += lineItem.Product.Price * DiscountPercentage * lineItem.Quantity;
         }
     }
     return(Cart);
 }
 public override Cart ApplyDiscount()
 {
     // custom processing
     foreach (var lineItem in Cart.LineItems)
     {
         if (ApplicableProductTypes.Contains(lineItem.Product.ProductType) && lineItem.Quantity >= MinAmountOfItems)
         {
             var quantity = lineItem.Quantity - 1;
             lineItem.DiscountAmount = (lineItem.Product.Price * quantity) * DiscountPercentage;
         }
     }
     return(Cart);
 }
Exemple #3
0
 public override Cart ApplyDiscount()
 {
     // custom processing
     if (Cart.LineItems.Any(x => ApplicableProductTypes.Contains(x.Product.ProductType) && x.Quantity >= MinAmountOfItems))
     {
         var product = new Product {
             ProductType = FreeItemType
         };                                                        // should get from repository
         Cart.LineItems.Add(new LineItem
         {
             Product        = product,
             Quantity       = AmountOfFreeItems,
             DiscountAmount = product.Price * AmountOfFreeItems
         });
     }
     return(Cart);
 }