示例#1
0
        public void CreateComputerConfigInfo(ComputerConfigItem entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("CreateComputerConfigInfo");

            command.SetParameterValue("@ProductSysNo", entity.ProductSysNo);
            command.SetParameterValue("@ComputerConfigSysNo", entity.ComputerConfigSysNo);
            command.SetParameterValue("@ComputerPartSysNo", entity.ComputerPartSysNo);
            command.SetParameterValue("@Discount", entity.Discount);
            command.SetParameterValue("@ProductQty", entity.ProductQty);

            command.ExecuteNonQuery();
            entity.SysNo = (int)command.GetParameterValue("@SysNo");
        }
        /// <summary>
        /// 根据用户输入的商品信息构造一个ConfigItem
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public ComputerConfigItem BuildConfigItem(ComputerConfigItem item)
        {
            var foundProduct = ExternalDomainBroker.GetProductInfo(item.ProductSysNo.Value);

            if (foundProduct == null)
            {
                throw new BizException("商品不存在。");
            }
            var partsCategoryList = _configDA.GetComputerPartsCategory(item.ComputerPartSysNo);

            if (!foundProduct.ProductBasicInfo.ProductCategoryInfo.SysNo.HasValue ||
                !partsCategoryList.Exists(c => c == foundProduct.ProductBasicInfo.ProductCategoryInfo.SysNo.Value))
            {
                throw new BizException(string.Format("商品{0}不在该组件的可选分类中,不能添加。", foundProduct.ProductID));
            }
            if (foundProduct.ProductStatus != BizEntity.IM.ProductStatus.Active)
            {
                throw new BizException(string.Format("商品{0}不是上架状态,不能添加!。", foundProduct.ProductID));
            }
            //填充商品详细
            item.ProductID    = foundProduct.ProductID;
            item.ProductName  = foundProduct.ProductName;
            item.UnitCost     = foundProduct.ProductPriceInfo.UnitCost;
            item.CurrentPrice = foundProduct.ProductPriceInfo.CurrentPrice;

            //填充库存信息
            var foundInventory = ExternalDomainBroker.GetProductTotalInventoryInfo(item.ProductSysNo.Value);

            if (foundInventory != null)
            {
                if (foundInventory.OnlineQty <= 0)
                {
                    throw new BizException(string.Format("商品{0}库存为零,不能添加!。", foundProduct.ProductID));
                }
                item.OnlineQty = foundInventory.OnlineQty;
            }
            item.ProductQty = 1;
            item.Discount   = 0;

            return(item);
        }
示例#3
0
 /// <summary>
 /// 根据用户输入的商品信息构造一个ConfigItem
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public ComputerConfigItem BuildConfigItem(ComputerConfigItem item)
 {
     return(_configProcessor.BuildConfigItem(item));
 }
示例#4
0
 public ComputerConfigItem BuildConfigItem(ComputerConfigItem item)
 {
     return(_configAppService.BuildConfigItem(item));
 }