void LoadSkuPurchasedCount(CartItemWithDetailList eventProductList, string distributorId) { List <MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.SkuOrderedAndPurchased> skuList = new List <MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.SkuOrderedAndPurchased>(); foreach (var x in eventProductList) { var sku = new MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.SkuOrderedAndPurchased { SKU = x.ProductId, Category = "ETO", }; skuList.Add(sku); } var rslt = MyHerbalife3.Ordering.Providers.China.OrderProvider.GetSkuOrderedAndPurchased(this.Country, distributorId, null, null, skuList); foreach (var r in rslt) { var mList = eventProductList.Where(x => x.ProductId == r.SKU); foreach (var m in mList) { m.QuantityAlreadyPurchased = r.QuantityPurchased; } } }
/// <summary> /// The collect all products. /// </summary> /// <param name="currentCategory"> /// The current category. /// </param> /// <param name="itemList"> /// The item list. /// </param> private void collectAllProducts(bool bShowAllInventory, Category_V02 currentCategory, List <UIProductInfo> itemList) { if (currentCategory == null) { return; } if (currentCategory.SubCategories != null) { foreach (Category_V02 sub in currentCategory.SubCategories) { collectAllProducts(bShowAllInventory, sub, itemList); } } if (currentCategory.Products != null) { int sortIndx = 0; if (HLConfigManager.Configurations.DOConfiguration.AllowHAP && SessionInfo.IsHAPMode && ShoppingCart.OrderCategory == OrderCategoryType.HSO) { itemList.AddRange( (from p in currentCategory.Products where p.TypeOfProduct == ProductType.Product && checkProductAvailability(bShowAllInventory, p) && (from s in p.SKUs where s.IsDisplayable select s).Count() > 0 select new UIProductInfo(currentCategory.ID, getDefaultSKUImagePath(p), p.DisplayName, p.ID, getDefaultSKUPrice(p), sortIndx++)).ToList() ); } else { if (IsChina && ShoppingCart.OrderCategory == OrderCategoryType.ETO) { string[] words = null; string eligibleSKu = string.Empty; var rsp = MyHerbalife3.Ordering.Providers.China.OrderProvider.GetEventEligibility(ShoppingCart.DistributorID); if (rsp != null && rsp.IsEligible) { words = rsp.Remark.Split('|'); eligibleSKu = words[words.Length - 2]; } SKU_V01 etoSku; AllSKUS.TryGetValue(eligibleSKu, out etoSku); if (etoSku != null) { var skuETO = new MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.SkuOrderedAndPurchased { SKU = etoSku.CatalogItem.StockingSKU.Trim(), Category = "ETO", }; var skuList = new List <MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.SkuOrderedAndPurchased>(); skuList.Add(skuETO); var totalETOCount = Providers.China.OrderProvider.GetSkuOrderedAndPurchased(ShoppingCart.CountryCode, null, null, null, skuList); var skulimit = Settings.GetRequiredAppSetting("ETOskulimit", string.Empty).Split('|'); if (skulimit.Length > 1 && eligibleSKu.Trim().Equals(skulimit[0]) && totalETOCount.Any(x => x.QuantityPurchased >= Convert.ToInt16(skulimit[1]) && x.SKU == etoSku.CatalogItem.StockingSKU.Trim())) { etoSku.CatalogItem.InventoryList.ToList().ForEach( x => { var val = x.Value as WarehouseInventory_V01; if (val != null) { val.QuantityOnHand = 0; val.QuantityAvailable = 0; val.IsBlocked = true; } }); } } itemList.AddRange( (from p in currentCategory.Products where checkProductAvailability(bShowAllInventory, p) && (from s in p.SKUs where s.IsDisplayable && s.SKU.Contains(eligibleSKu.Trim()) select s).Count() > 0 select new UIProductInfo(currentCategory.ID, getDefaultSKUImagePath(p), p.DisplayName, p.ID, getDefaultSKUPrice(p), sortIndx++)).ToList() ); } else { itemList.AddRange( (from p in currentCategory.Products where checkProductAvailability(bShowAllInventory, p) && (from s in p.SKUs where s.IsDisplayable select s).Count() > 0 select new UIProductInfo(currentCategory.ID, getDefaultSKUImagePath(p), p.DisplayName, p.ID, getDefaultSKUPrice(p), sortIndx++)).ToList() ); } } } }