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; }
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"); } }
/// <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); }