public decimal GetAllDiscounts(IList <string> scannedItems, IItemCatalogue itemCatalogue) { var discounts = 0m; foreach (var offer in _currentOffers) { var discountAndProportion = offer.DiscountItemAndProportion(); var timesApplicable = offer.TimesApplicable(scannedItems); var itemPrice = itemCatalogue.LookupPrice(discountAndProportion.Item); var priceProportion = discountAndProportion.Proportion; discounts += itemPrice * priceProportion * timesApplicable; } return(-discounts); }
private decimal CalculateItem(string item) { var itemPrice = _itemCatalogue.LookupPrice(item); return(itemPrice); }