示例#1
0
        public void AddToCart(ICoffee orderedCofee)
        {
            var isAvailable = cartRepository.IsCartItemAvailable(shoppingCartId, orderedCofee.Id);

            ICart cartItem;

            if (!isAvailable)
            {
                cartItem                   = cartFactory.CreateCart();
                cartItem.CoffeeId          = orderedCofee.Id;
                cartItem.CoffeeDescription = orderedCofee.FullDescription;
                cartItem.CoffeeCost        = orderedCofee.Cost();
                cartItem.ShoppingCartId    = this.shoppingCartId;
                cartItem.Count             = 1;

                cartRepository.Add(cartItem);
            }
            else
            {
                // Pls refactor
                cartItem = cartRepository.GetCartItemByCoffeeId(shoppingCartId, orderedCofee.Id);

                cartItem.Count++;

                cartRepository.Update(cartItem);
            }
        }
        public FinalOrderViewModel(ICoffee coffee)
        {
            if (coffee == null)
            {
                throw new ArgumentNullException();
            }

            this.coffee = coffee;

            this.FullDescription = coffee.FullDescription;
            this.Price           = coffee.Cost();
        }
示例#3
0
 public double Cost()
 {
     return(_coffee.Cost() + _price);
 }