Exemplo n.º 1
0
 private void ApplyDiscountRule(List <ItemPile> basket, DiscountRule currentRule)
 {
     foreach (var basketPile in basket)
     {
         ItemPile rulePile = currentRule.Piles.FirstOrDefault(p => p.Unit == basketPile.Unit);
         if (rulePile != null)
         {
             basketPile.RemoveFromPile(rulePile.Quantity);
         }
     }
 }
Exemplo n.º 2
0
        public bool IsMatchingRule(List <ItemPile> basket, DiscountRule rule)
        {
            foreach (ItemPile rulePile in rule.Piles)
            {
                //not all rules can be applied, so need to check the quantity in the basket
                ItemPile basketPile = basket.FirstOrDefault(p => p.Unit == rulePile.Unit && p.Quantity >= rulePile.Quantity);
                if (basketPile == null)
                {
                    return(false);
                }
            }

            return(true);
        }