public decimal CalculateOn(ICanBeSold item) { if (!item.HasBeenImported) { return(0); } var rawTax = (item.Price * 5 / 100); return(_roundStrategy.Round(rawTax)); }
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)); }
public Basket(ITaxCalculator taxCalculator, IReceiptFormatter receiptFormatter, ICanBeSold item) : this(taxCalculator, receiptFormatter, new List <ICanBeSold> { item }) { }
public decimal CalculateOn(ICanBeSold item) { return(_taxCalculators.Aggregate((decimal)0, (subtotal, calculator) => subtotal + calculator.CalculateOn(item))); }