예제 #1
0
        /// <summary>
        /// 加够商品转换为主商品
        /// </summary>
        /// <param name="productSysNo">商品编号</param>
        /// <param name="customerSysNo">用户编号</param>
        /// <returns></returns>
        private OrderItemGroup PlusPriceConvertToProduct(OrderGiftItem plusPrice, int customerSysNo)
        {
            OrderItemGroup   result      = new OrderItemGroup();
            OrderProductItem productItem = new OrderProductItem();

            productItem.ProductSysNo = plusPrice.ProductSysNo;

            //商品基础信息
            ProductBasicInfo basicInfo = PipelineDA.GetProductBasicInfoBySysNo(productItem.ProductSysNo);
            //商品备案信息
            ProductEntryInfo entryInfo = PipelineDA.GetProductEntryInfoBySysNo(productItem.ProductSysNo);

            basicInfo.ProductEntryInfo      = entryInfo;
            productItem["ProductStoreType"] = (int)entryInfo.ProductStoreType;
            //商品备货时间
            productItem["LeadTimeDays"] = basicInfo.ProductEntryInfo.LeadTimeDays;

            //商品销售信息
            ProductSalesInfo salesInfo = PipelineDA.GetProductSalesInfoBySysNo(productItem.ProductSysNo);

            productItem.ProductID         = basicInfo.Code;
            productItem.ProductName       = basicInfo.ProductName;
            productItem.Weight            = basicInfo.Weight;
            productItem["ProductTitle"]   = basicInfo.ProductTitle;
            productItem.DefaultImage      = basicInfo.DefaultImage;
            productItem.UnitMarketPrice   = salesInfo.MarketPrice;
            productItem.UnitCostPrice     = salesInfo.UnitCostPrice;
            productItem.UnitSalePrice     = plusPrice.UnitSalePrice;
            productItem.UnitRewardedPoint = 0;
            //productItem["TariffRate"] = basicInfo.ProductEntryInfo.TariffRate;
            productItem.TotalInventory       = salesInfo.OnlineQty;
            productItem.MerchantSysNo        = basicInfo.VendorSysno;
            productItem.MerchantName         = basicInfo.VendorInfo.VendorName;
            result.MerchantSysNo             = basicInfo.VendorSysno;
            result.MerchantName              = basicInfo.VendorInfo.VendorName;
            productItem["ProductStatus"]     = (int)basicInfo.ProductStatus;
            productItem["Warranty"]          = basicInfo.Warranty;
            productItem.WarehouseNumber      = plusPrice.WarehouseNumber;
            productItem.WarehouseName        = plusPrice.WarehouseName;
            productItem.WarehouseCountryCode = plusPrice.WarehouseCountryCode;

            salesInfo.MinCountPerOrder = salesInfo.OnlineQty < productItem.UnitQuantity ? salesInfo.OnlineQty : productItem.UnitQuantity;
            salesInfo.MaxCountPerOrder = salesInfo.OnlineQty < productItem.UnitQuantity ? salesInfo.OnlineQty : productItem.UnitQuantity;

            productItem["MinCountPerOrder"] = productItem.UnitQuantity;
            productItem["MaxCountPerOrder"] = productItem.UnitQuantity;

            result.MinCountPerSO = productItem.UnitQuantity;
            result.MaxCountPerSO = productItem.UnitQuantity;
            result.MerchantSysNo = productItem.MerchantSysNo;
            result.MerchantName  = productItem.MerchantName;
            result.PackageNo     = 0;
            result.PackageType   = 0;
            result.Quantity      = 1;

            //商品分组属性
            List <ProductSplitGroupProperty> splitGroupProperty = PipelineDA.GetProductSplitGroupPropertyList(productItem.ProductSysNo);

            if (splitGroupProperty != null && splitGroupProperty.Count > 0)
            {
                productItem.SplitGroupPropertyDescList = new List <KeyValuePair <string, string> >();
                foreach (ProductSplitGroupProperty property in splitGroupProperty)
                {
                    productItem.SplitGroupPropertyDescList.Add(new KeyValuePair <string, string>(property.PropertyDescription, property.ValueDescription));
                }
            }
            result.ProductItemList = new List <OrderProductItem>();
            result.ProductItemList.Add(productItem);

            return(result);
        }