Esempio n. 1
0
        public void AddItem(ProductSkuInfo productSkuInfo, decimal quantity, decimal weight, decimal price, string productNumber, Guid positionID, string remark = "", Guid?purchaseOrderItemID = null)
        {
            if (productNumber == null)
            {
                productNumber = string.Empty;
            }
            MaterialReceiptItem newMaterialReceiptItem = new MaterialReceiptItem();

            newMaterialReceiptItem.MaterialReceipt   = this;
            newMaterialReceiptItem.MaterialReceiptID = this.ID;
            newMaterialReceiptItem.Remark            = remark;
            newMaterialReceiptItem.ProductSkuInfo    = productSkuInfo;
            newMaterialReceiptItem.Quantity          = quantity;
            newMaterialReceiptItem.Weight            = weight;
            newMaterialReceiptItem.Price             = price;
            if (productSkuInfo.PricingMethod == PricingMethod.PricingByQuantity)
            {
                newMaterialReceiptItem.Amount = quantity * price;
            }
            else
            {
                newMaterialReceiptItem.Amount = weight * price;
            }
            newMaterialReceiptItem.ProductNumber = productNumber;
            newMaterialReceiptItem.PositionID    = positionID;
            RefreshAmount(newMaterialReceiptItem);
            Items.Add(newMaterialReceiptItem);
        }
Esempio n. 2
0
        public void UpdateItem(Guid itemID, ProductSkuInfo productSkuInfo, decimal quantity, decimal weight, decimal price, string productNumber, Guid positionID, string remark = "")
        {
            MaterialReceiptItem item = this.Items.FirstOrDefault(p => p.ID == itemID);

            if (item != null)
            {
                if (productNumber == null)
                {
                    productNumber = string.Empty;
                }
                //item.Product = product;
                item.ProductSkuInfo = productSkuInfo;
                item.Remark         = remark;
                item.Quantity       = quantity;
                item.Weight         = weight;
                item.ProductNumber  = productNumber;
                item.PositionID     = positionID;
                item.Price          = price;
                RefreshAmount(item);
            }
            else
            {
                throw new DomainException("无此ID");
            }
        }
Esempio n. 3
0
        public void RemoveItem(Guid itemID)
        {
            MaterialReceiptItem item = Items.FirstOrDefault(p => p.ID == itemID);

            if (item == null)
            {
                throw new DomainException("无此ID");
            }
            Items.Remove(item);
        }
Esempio n. 4
0
 private void RefreshAmount(MaterialReceiptItem item)
 {
     this.TotalAmount = this.TotalAmount - item.Amount;
     if (item.ProductSkuInfo.PricingMethod == PricingMethod.PricingByQuantity)
     {
         item.Amount = item.Quantity * item.Price;
     }
     else
     {
         item.Amount = item.Weight * item.Price;
     }
     this.TotalAmount = this.TotalAmount + item.Amount;
 }