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