public static CartProduct Create(Customer customer, Cart cart, Product product, int quantity, TaxService taxService) { if (cart == null) { throw new ArgumentNullException("cart"); } if (product == null) { throw new ArgumentNullException("product"); } CartProduct cartProduct = new CartProduct() { CustomerId = customer.Id, CartId = cart.Id, ProductId = product.Id, Quantity = quantity, Created = DateTime.Now, Cost = product.Cost, Tax = taxService.Calculate(customer, product) }; return(cartProduct); }
public static PurchasedProduct Create(Purchase purchase, CartProduct cartProduct) { return new PurchasedProduct() { Product = cartProduct.Product, Purchase = purchase, Quantity = cartProduct.Quantity }; }
public virtual void Add(CartProduct cartProduct) { if (cartProduct == null) { throw new ArgumentNullException(); } this.cartProducts.Add(cartProduct); }
public virtual void Remove(Product product) { if (product == null) { throw new ArgumentNullException("product"); } CartProduct cartProduct = this.cartProducts.Find(new ProductInCartSpec(product).IsSatisfiedBy); cartProduct.Active = false; }
public virtual void Add(CartProduct cartProduct) { if (cartProduct == null) { throw new ArgumentNullException(); } DomainEvents.Raise <ProductAddedCart>(new ProductAddedCart() { CartProduct = cartProduct }); this.cartProducts.Add(cartProduct); }
public virtual void Remove(Product product) { if (product == null) { throw new ArgumentNullException("product"); } CartProduct cartProduct = this.cartProducts.Find(new ProductInCartSpec(product).IsSatisfiedBy); DomainEvents.Raise <ProductRemovedCart>(new ProductRemovedCart() { CartProduct = cartProduct }); this.cartProducts.Remove(cartProduct); }