Exemplo n.º 1
0
        public decimal CalculateOn(ICanBeSold item)
        {
            if (!item.HasBeenImported)
            {
                return(0);
            }
            var rawTax = (item.Price * 5 / 100);

            return(_roundStrategy.Round(rawTax));
        }
Exemplo n.º 2
0
        public decimal CalculateOn(ICanBeSold item)
        {
            var mustNotBeApplied = _exceptions.Exists(c => item.GetType() == c);

            if (mustNotBeApplied)
            {
                return(0);
            }

            var rawTax = (item.Price * 10 / 100);

            return(_roundStrategy.Round(rawTax));
        }
Exemplo n.º 3
0
 public Basket(ITaxCalculator taxCalculator, IReceiptFormatter receiptFormatter, ICanBeSold item) : this(taxCalculator, receiptFormatter, new List <ICanBeSold> {
     item
 })
 {
 }
Exemplo n.º 4
0
 public decimal CalculateOn(ICanBeSold item)
 {
     return(_taxCalculators.Aggregate((decimal)0, (subtotal, calculator) => subtotal + calculator.CalculateOn(item)));
 }