/// <summary> /// 添加BFE采购订单行 /// </summary> /// <param name="price">单价</param> /// <param name="amount">数量</param> /// <param name="discount">折扣</param> /// <param name="delivery">预计交付日期</param> /// <returns>BFE采购订单行</returns> public BFEPurchaseOrderLine AddNewBFEPurchaseOrderLine(decimal price, int amount, decimal discount, DateTime delivery) { var bfePurchaseOrderLine = new BFEPurchaseOrderLine(); bfePurchaseOrderLine.GenerateNewIdentity(); bfePurchaseOrderLine.OrderId = Id; bfePurchaseOrderLine.UnitPrice = price; bfePurchaseOrderLine.Amount = amount; bfePurchaseOrderLine.Discount = discount; bfePurchaseOrderLine.EstimateDeliveryDate = delivery; OrderLines.Add(bfePurchaseOrderLine); return bfePurchaseOrderLine; }
/// <summary> /// 更新订单行 /// </summary> /// <param name="line">订单行DTO</param> /// <param name="orderLine">订单行</param> private void UpdateOrderLine(BFEPurchaseOrderLineDTO line, BFEPurchaseOrderLine orderLine) { // 获取飞机物料机型 var material = _materialRepository.GetFiltered(m => m.Id == line.BFEMaterialId) .OfType<BFEMaterial>() .FirstOrDefault(); if (material == null) { throw new ArgumentException("未能获取飞机物料!"); } // 更新订单行 orderLine.UpdateOrderLine(line.UnitPrice, line.Amount, line.Discount, line.EstimateDeliveryDate); orderLine.SetBFEMaterial(line.BFEMaterialId); }