public InventoryCheckData InventoryCheck(Product p, string variantId)
        {
            InventoryCheckData result = new InventoryCheckData();
            result.Qty = InventoryQuantityAvailableForPurchase(p, variantId);

            switch (p.InventoryMode)
            {
                case ProductInventoryMode.AlwayInStock:
                    result.IsInStock = true;
                    result.InventoryMessage = "In Stock";
                    result.IsAvailableForSale = true;
                    break;
                case ProductInventoryMode.WhenOutOfStockAllowBackorders:
                    if (result.Qty < 1)
                    {
                        result.IsInStock = false;
                        result.InventoryMessage = "<span class=\"inventorybackordered\">Backordered</span>";
                        result.IsAvailableForSale = true;
                    }
                    else
                    {
                        result.IsInStock = true;
                        result.InventoryMessage = "In Stock (" + result.Qty.ToString() + ")";
                        result.IsAvailableForSale = true;
                    }
                    break;
                case ProductInventoryMode.WhenOutOfStockHide:
                    if (result.Qty < 1)
                    {
                        result.IsInStock = false;
                        result.InventoryMessage = "<span class=\"inventoryoutofstock\">Out of Stock</span>";
                        result.IsAvailableForSale = false;
                    }
                    else
                    {
                        result.IsInStock = true;
                        result.InventoryMessage = "In Stock (" + result.Qty.ToString() + ")";
                        result.IsAvailableForSale = true;
                    }
                    break;
                case ProductInventoryMode.WhenOutOfStockShow:
                    if (result.Qty < 1)
                    {
                        result.IsInStock = false;
                        result.InventoryMessage = "<span class=\"inventoryoutofstock\">Out of Stock</span>";
                        result.IsAvailableForSale = false;
                    }
                    else
                    {
                        result.IsInStock = true;
                        result.InventoryMessage = "In Stock (" + result.Qty.ToString() + ")";
                        result.IsAvailableForSale = true;
                    }
                    break;
            }

            return result;
        }
Exemple #2
0
        public InventoryCheckData InventoryCheck(Product p, string variantId)
        {
            InventoryCheckData result = new InventoryCheckData();

            result.Qty = InventoryQuantityAvailableForPurchase(p, variantId);

            switch (p.InventoryMode)
            {
            case ProductInventoryMode.AlwayInStock:
                result.IsInStock          = true;
                result.InventoryMessage   = "In Stock";
                result.IsAvailableForSale = true;
                break;

            case ProductInventoryMode.WhenOutOfStockAllowBackorders:
                if (result.Qty < 1)
                {
                    result.IsInStock          = false;
                    result.InventoryMessage   = "<span class=\"inventorybackordered\">Backordered</span>";
                    result.IsAvailableForSale = true;
                }
                else
                {
                    result.IsInStock          = true;
                    result.InventoryMessage   = "In Stock (" + result.Qty.ToString() + ")";
                    result.IsAvailableForSale = true;
                }
                break;

            case ProductInventoryMode.WhenOutOfStockHide:
                if (result.Qty < 1)
                {
                    result.IsInStock          = false;
                    result.InventoryMessage   = "<span class=\"inventoryoutofstock\">Out of Stock</span>";
                    result.IsAvailableForSale = false;
                }
                else
                {
                    result.IsInStock          = true;
                    result.InventoryMessage   = "In Stock (" + result.Qty.ToString() + ")";
                    result.IsAvailableForSale = true;
                }
                break;

            case ProductInventoryMode.WhenOutOfStockShow:
                if (result.Qty < 1)
                {
                    result.IsInStock          = false;
                    result.InventoryMessage   = "<span class=\"inventoryoutofstock\">Out of Stock</span>";
                    result.IsAvailableForSale = false;
                }
                else
                {
                    result.IsInStock          = true;
                    result.InventoryMessage   = "In Stock (" + result.Qty.ToString() + ")";
                    result.IsAvailableForSale = true;
                }
                break;
            }

            return(result);
        }