public ProductViewModel(Product product, IOrderBuilder orderBuilder)
        {
            Contract.Assert(product != null);
            Contract.Assert(orderBuilder != null);

            _orderBuilder = orderBuilder;
            Product = product;

            AddToOrder = new LambdaCommand(parameter => _orderBuilder.AddProduct(Product));
        }
 private ProductViewModel CreateProductViewModel(Product product)
 {
     return new ProductViewModel(product, _orderBuilder);
 }
 private static bool DoesProductMatch(string query, Product product)
 {
     return
         DoesProductPropertyMatchQuery(query, product.ProductName) ||
         DoesProductPropertyMatchQuery(query, product.Description);
 }
 public void AddProduct(Product product)
 {
     Contract.Assert(product != null);
     _products.Add(product);
 }