Пример #1
0
        public async Task <bool> Do(Request request)
        {
            if (!_stockManager.EnoughStock(request.StockId, request.Qty))
            {
                return(false);
                //notEnough stock
            }

            await _stockManager.PutStockOnHold(request.StockId, request.Qty, _sessionManager.GetId());

            var stock       = _stockManager.GetStockProduct(request.StockId);
            var cartProduct = new CartProduct()
            {
                ProductName = stock.Product.Name,
                ProductId   = stock.ProductId,
                StockId     = stock.Id,
                Qty         = request.Qty,
                TheValue    = stock.Product.Value,
                ImgUrl      = stock.Product.ImgUrl
            };

            _sessionManager.AddProduct(cartProduct);

            return(true);
        }