Esempio n. 1
0
        public void AddItem(ProductSkuInfo productSkuInfo, decimal quantity, decimal weight, decimal price)
        {
            PurchaseOrderItem newPurchaseOrderItem = new PurchaseOrderItem();

            //newPurchaseOrderItem.ProductID = product.ProductID;
            newPurchaseOrderItem.Quantity = quantity;
            newPurchaseOrderItem.Weight   = weight;
            newPurchaseOrderItem.Price    = price;
            //newPurchaseOrderItem.PricingMethod = pricingMethod;

            if (productSkuInfo.PricingMethod == PricingMethod.PricingByQuantity)
            {
                newPurchaseOrderItem.Amount = newPurchaseOrderItem.Price * newPurchaseOrderItem.Quantity;
            }
            else
            {
                newPurchaseOrderItem.Amount = newPurchaseOrderItem.Price * newPurchaseOrderItem.Weight;
            }
            //newPurchaseOrderItem.Amount = newPurchaseOrderItem.Price * newPurchaseOrderItem.PricingQuantity;
            newPurchaseOrderItem.PurchaseOrderID = this.ID;
            newPurchaseOrderItem.PurchaseOrder   = this;

            newPurchaseOrderItem.ProductSkuInfo = ProductSkuInfo.Create(productSkuInfo.SkuID, productSkuInfo.Name, productSkuInfo.PricingMethod);

            Items.Add(newPurchaseOrderItem);
            this.TotalQuantity += newPurchaseOrderItem.Quantity;
            this.TotalAmount   += newPurchaseOrderItem.Amount;
            this.TotalWeight   += newPurchaseOrderItem.Weight;
        }
Esempio n. 2
0
        public void UpdateItem(Guid itemID, ProductSkuInfo productSkuInfo, decimal quantity, decimal weight, decimal price)
        {
            PurchaseOrderItem item = this.Items.FirstOrDefault(p => p.ID == itemID);

            if (item != null)
            {
                item.PurchaseOrder   = this;
                item.PurchaseOrderID = this.ID;
                //item.ProductID = product.ProductID;
                item.Price          = price;
                item.ProductSkuInfo = productSkuInfo;
                this.TotalQuantity += (quantity - item.Quantity);
                item.Quantity       = quantity;
                this.TotalWeight   += (weight - item.Weight);
                item.Weight         = weight;
                if (productSkuInfo.PricingMethod == PricingMethod.PricingByQuantity)
                {
                    this.TotalAmount += (quantity * price - item.Amount);
                    item.Amount       = item.Price * item.Quantity;
                }
                else
                {
                    this.TotalAmount += (weight * price - item.Amount);
                    item.Amount       = item.Price * item.Weight;
                }
            }
            else
            {
                throw new DomainException("无此ID");
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 套餐模板推荐商品映射
        /// </summary>
        /// <param name="packRecommendedSku">套餐模板推荐商品领域模型</param>
        /// <param name="productSkuInfo">推荐商品信息</param>
        /// <param name="decorationPackSpaces">空间集</param>
        /// <returns>套餐模板推荐商品数据传输对象</returns>
        public static App_DecorationPackSkuInfo ToAppDTO(this DecorationPackRecommendedSku packRecommendedSku, ProductSkuInfo productSkuInfo, List <DecorationPackSpace> decorationPackSpaces)
        {
            App_DecorationPackSkuInfo packSkuInfo = Transform <DecorationPackRecommendedSku, App_DecorationPackSkuInfo> .Map(packRecommendedSku);

            packSkuInfo.PackItemName = packRecommendedSku.PackRecommendedItem.Name;
            packSkuInfo.SpaceName    = decorationPackSpaces.Single(s => s.Id == packRecommendedSku.PackRecommendedItem.PackSpaceId).Name;
            packSkuInfo.SpaceId      = packRecommendedSku.PackRecommendedItem.PackSpaceId;
            packSkuInfo.Sort         = decorationPackSpaces.Single(s => s.Id == packRecommendedSku.PackRecommendedItem.PackSpaceId).Sort;
            packSkuInfo.Name         = productSkuInfo.Name;
            packSkuInfo.ProductType  = productSkuInfo.ProductType;
            packSkuInfo.Brand        = productSkuInfo.BrandName;
            packSkuInfo.Category     = productSkuInfo.CategoryName;
            return(packSkuInfo);
        }