public ICartState PayForCart(ICartState currentState, decimal amountToPay) { var visitor = new PayForCartVisitor() { amountToPay = amountToPay }; return currentState.Accept(visitor); }
public ICartState AddProduct(ICartState currentState, Product product) { var visitor = new AddProductVisitor() { productToAdd = product }; return currentState.Accept(visitor); }