protected void InventoryAlertUpdate()
        {
            if (_Product != null)
            {
                // WE HAVE A VALID PRODUCT, ARE ANY AVAILABLE OPTIONS SELECTED?
                bool allProductOptionsSelected = (_SelectedOptions.Count == _Product.ProductOptions.Count);
                if (allProductOptionsSelected)
                {
                    // OPTIONS ARE GOOD, VERIFY ANY REQUIRED KIT OPTIONS ARE SELECTED
                    GetSelectedKitOptions(_Product);
                    bool requiredKitOptionsSelected = AbleCommerce.Code.ProductHelper.RequiredKitOptionsSelected(_Product, _SelectedKitProducts);
                    if (requiredKitOptionsSelected)
                    {
                        // KIT OPTIONS ARE ALSO VALID, DETERMINE APPROPRIATE WARNINGS
                        Store         store           = AbleContext.Current.Store;
                        List <string> warningMessages = new List <string>();

                        string optionList = string.Empty;
                        if (_Product.ProductOptions.Count > 0)
                        {
                            // OPTIONS ARE PRESENT, CHECK AVAILABLILITY
                            optionList = ProductVariantDataSource.GetOptionList(_ProductId, _SelectedOptions, true);
                            ProductVariant variant = ProductVariantDataSource.LoadForOptionList(_Product.Id, optionList);
                            if (!variant.Available)
                            {
                                warningMessages.Add("The selected variant is marked as unavailable.");
                            }

                            // WE ALSO NEED TO ALERT INVENTORY IF ENABLED AT VARIANT LEVEL AND THIS IS NOT A KIT
                            if (store.Settings.EnableInventory &&
                                _Product.KitStatus != KitStatus.Master &&
                                _Product.InventoryMode == InventoryMode.Variant)
                            {
                                warningMessages.Add("The selected variant has a current stock level of " + variant.InStock + ".");
                            }
                        }

                        // CHECK STOCK QUANTITY FOR PRODUCT, IF STORE INVENTORY IS ENABLED
                        // AND THE STOCK IS MANAGED AT THE PRODUCT LEVEL OR THIS IS A KIT
                        if (store.Settings.EnableInventory && (_Product.InventoryMode == InventoryMode.Product || _Product.KitStatus == KitStatus.Master))
                        {
                            IInventoryManager    inventoryManager = AbleContext.Resolve <IInventoryManager>();
                            InventoryManagerData inv = inventoryManager.CheckStock(_ProductId, optionList, _SelectedKitProducts);
                            if (!inv.AllowBackorder)
                            {
                                if (_Product.KitStatus == KitStatus.Master)
                                {
                                    // INVENTORY MESSAGE FOR KIT PRODUCTS
                                    warningMessages.Add("The selected configuration has a current stock level of " + inv.InStock + ".");
                                }
                                else
                                {
                                    // NOT KIT OR VARIANT
                                    warningMessages.Add("This product has a current stock level of " + inv.InStock + ".");
                                }
                            }
                        }

                        // SHOW ANY WARNING MESSAGES
                        if (warningMessages.Count > 0)
                        {
                            InventoryWarningMessage.Text = "Note: " + string.Join(" ", warningMessages.ToArray());
                            trInventoryWarning.Visible   = true;
                        }
                    }
                }
            }
        }