public HandleProductsWithAssociatedOfferShoppingCartDecorator(IProductAddingShoppingCart productAddingShoppingCart) { _productAddingShoppingCart = productAddingShoppingCart ?? throw new ArgumentNullException(nameof(productAddingShoppingCart)); _productOffers = new Dictionary <string, IOffer>(); }
public TotalPriceAdditionalProcessingShoppingCartDecorator( IProductAddingShoppingCart shoppingCartToDecorate, Func <double, double> additionalProcessing) { _shoppingCart = shoppingCartToDecorate ?? throw new ArgumentNullException(nameof(shoppingCartToDecorate)); _additionalProcessing = additionalProcessing ?? throw new ArgumentNullException(nameof(additionalProcessing)); }