public virtual SaleAdvertisement LoadBySysNo(int sysNo) { var result = da.LoadBySysNo(sysNo); if (result == null) { //throw new BizException("页面促销模板信息不存在!"); throw new BizException(ResouceManager.GetMessageString("MKT.SaleAdvertisement", "SaleAdvertisement_NotExistAdvertise")); } result.Groups = da.LoadSaleAdvGroupsBySaleAdvSysNo(sysNo); result.Items = da.GetSaleAdvItems(sysNo); if (result.Groups != null && result.Items != null) { result.Groups.ForEach(p => { p.ItemsCount = result.Items.Count(i => i.GroupSysNo == p.SysNo); }); } if (result.Items != null) { //获取商品和库存的相关信息 var productSysNoList = result.Items.Select(p => p.ProductSysNo.Value).ToList(); //var products = ExternalDomainBroker.GetProductInfoListByProductSysNoList(productSysNoList); var inventorys = ExternalDomainBroker.GetProductInventoryInfoByProductSysNoList(productSysNoList); result.Items.ForEach(i => { //ProductInfo product = products.FirstOrDefault(p => p.SysNo == i.ProductSysNo); ProductInfo product = ExternalDomainBroker.GetSimpleProductInfo(i.ProductSysNo.Value); if (product != null) { i.ProductID = product.ProductID; i.ProductName = product.ProductName; i.ProductStatus = product.ProductStatus; } var inventory = inventorys.FirstOrDefault(p => p.ProductSysNo == i.ProductSysNo); if (inventory != null) { i.OnlineQty = inventory.OnlineQty; } }); } return(result); }
//加载 public ComputerConfigMaster LoadComputerConfig(int sysNo) { var configItems = _configDA.GetComputerConfigItems(sysNo); var categories = _configDA.GetAllComputerPartsCategory(); //调用IM接口取得商品详细 var productSysNoList = configItems.Where(item => item.ProductSysNo.HasValue).Select(item => item.ProductSysNo.Value).ToList(); var productInfoList = ExternalDomainBroker.GetProductInfoListByProductSysNoList(productSysNoList); //调用Inventory接口取得库存信息 var inventoryInfoList = ExternalDomainBroker.GetProductInventoryInfoByProductSysNoList(productSysNoList); foreach (var item in configItems) { //填充商品详细 var foundProduct = productInfoList.FirstOrDefault(product => product.SysNo == item.ProductSysNo); if (foundProduct != null) { item.ProductID = foundProduct.ProductID; item.ProductName = foundProduct.ProductName; item.UnitCost = foundProduct.ProductPriceInfo.UnitCost; item.CurrentPrice = foundProduct.ProductPriceInfo.CurrentPrice; } //填充库存信息 var foundInventory = inventoryInfoList.FirstOrDefault(inventory => inventory.ProductSysNo.Value == item.ProductSysNo); if (foundInventory != null) { item.OnlineQty = foundInventory.OnlineQty; } item.PartsCategories = categories.FindAll(c => c.ComputerPartSysNo == item.ComputerPartSysNo); } //按优先级升序 configItems.OrderBy(item => item.Priority); var master = _configDA.LoadMaster(sysNo); master.ConfigItemList = configItems; return(master); }