示例#1
0
        private bool IsStockAvailable(BillProductDetails productDetails)
        {
            // check if stock is available
            int      productID = productDetails.Product.ID;
            StockGet stock     = DataService.GetStockDataController().GetByProductID(productID);

            if (stock.AvailableQuantity < productDetails.Quantity)
            {
                return(false);
            }
            return(true);
        }
        private void UpdateStockDetails()
        {
            var details = m_TransactionSession.GetRowEntries();

            for (int i = 0; i < details.Count; ++i)
            {
                var productDetail = details[i];
                int productID     = productDetail.Product.ID;

                StockGet  stockGet  = DataService.GetStockDataController().GetByProductID(productID);
                StockPost stockPost = new StockPost(stockGet);
                stockPost.AvailableQuantity -= productDetail.Quantity;
                stockPost.AvailableQuantity  = (stockPost.AvailableQuantity < 0) ? 0 : stockPost.AvailableQuantity;

                var updatedStock = DataService.GetStockDataController().Put(stockPost);
                if (updatedStock == null)
                {
                    Assert.Do("Failed to update Stock for Product ID: " + productID);
                }
            }
        }