Esempio n. 1
0
        public override BasketState Add(BasketProduct basketProduct)
        {
            var line = _lines.FirstOrDefault(p => p.Product.Id == basketProduct.Id);

            if (line == null)
            {
                _lines.Add(new BasketLine(basketProduct, 1));
            }
            else
            {
                line.Add();
            }

            if (_lines.Count == _maxSize)
            {
                return(new FullBasketState(_lines, _maxSize));
            }
            return(new NormalBasketState(_lines, _maxSize));
        }
Esempio n. 2
0
 public abstract BasketState Add(BasketProduct basketProduct);
Esempio n. 3
0
 public override BasketState Add(BasketProduct basketProduct)
 {
     throw new ApiException(ApiExceptionCode.BasketIsFull);
 }
Esempio n. 4
0
 public override BasketState Add(BasketProduct basketProduct)
 {
     _lines.Add(new BasketLine(basketProduct, 1));
     return(new NormalBasketState(_lines, _maxSize));
 }