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); }
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"); } }
public void RemoveItem(Guid itemID) { MaterialReceiptItem item = Items.FirstOrDefault(p => p.ID == itemID); if (item == null) { throw new DomainException("无此ID"); } Items.Remove(item); }
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; }