Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        //加载
        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);
        }