public void ProcessCatalogItemsForInventory(string locale, ShoppingCart_V02 shoppingCart, List <SKU_V01> itemList) { MyHLShoppingCart cart = shoppingCart as MyHLShoppingCart; bool isPickup = (cart != null && cart.DeliveryInfo != null && cart.DeliveryInfo.Option == ServiceProvider.ShippingSvc.DeliveryOptionType.Pickup); //Dictionary<string, SKU_V01> allSKU = HL.MyHerbalife.Providers.Ordering.CatalogProvider.GetAllSKU(locale); foreach (SKU_V01 sku in itemList) { if (sku.CatalogItem == null) { continue; } if (sku.CatalogItem.InventoryList == null) { continue; } WarehouseInventory_V01 warehouse = sku.CatalogItem.InventoryList.ContainsKey("I2") ? sku.CatalogItem.InventoryList["I2"] as WarehouseInventory_V01 : null; if (warehouse != null) { // Hard fast rule for IT - no A or L types backordered if (sku.CatalogItem.ProductType == ProductType.Product && !warehouse.IsBlocked) { if (warehouse.QuantityAvailable <= 0) { warehouse.IsBackOrder = !isPickup; } } } } }
private bool IsBlocked(SKU_V01 sku) { bool isBlocked = false; string wareHouse = CurrentWarehouse; try { WarehouseInventory_V01 inventory = sku.CatalogItem.InventoryList[wareHouse] as WarehouseInventory_V01; isBlocked = inventory.IsBlocked; } catch { } return(isBlocked); }
private bool IsBlocked(CatalogItem_V01 catItem) { MyHLShoppingCart cart = (ProductsBase).ShoppingCart; if (null != cart && null != cart.DeliveryInfo && catItem.InventoryList != null && catItem.InventoryList.ContainsKey(cart.DeliveryInfo.WarehouseCode)) { WarehouseInventory warehouseInventory = catItem.InventoryList[cart.DeliveryInfo.WarehouseCode]; if (null != warehouseInventory) { WarehouseInventory_V01 inventory = warehouseInventory as WarehouseInventory_V01; if (inventory != null) { return(inventory.IsBlocked); } } } return(true); }