Exemple #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));
        }
Exemple #2
0
 public abstract BasketState Add(BasketProduct basketProduct);
Exemple #3
0
 public override BasketState Add(BasketProduct basketProduct)
 {
     throw new ApiException(ApiExceptionCode.BasketIsFull);
 }
Exemple #4
0
 public override BasketState Add(BasketProduct basketProduct)
 {
     _lines.Add(new BasketLine(basketProduct, 1));
     return(new NormalBasketState(_lines, _maxSize));
 }