예제 #1
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");
            }
        }
예제 #2
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;
        }
예제 #3
0
        public void RemoveItem(Guid itemID)
        {
            PurchaseOrderItem item = Items.FirstOrDefault(p => p.ID == itemID);

            if (item == null)
            {
                throw new DomainException("无此ID");
            }
            Items.Remove(item);
        }
예제 #4
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;

            Items.Add(newPurchaseOrderItem);
            this.TotalQuantity += newPurchaseOrderItem.Quantity;
            this.TotalAmount += newPurchaseOrderItem.Amount;
            this.TotalWeight += newPurchaseOrderItem.Weight;
        }