public void UpdateTemporaryReceipt(Entities.PriceAdjustReceipt receipt, IEnumerable <PriceAdjustReceiptDetail> details = null) { if (receipt == null) { throw new NullReferenceException("receipt参数为null"); } var useDetails = (details != null && details.Count() > 0); if (!useDetails && (receipt.Details == null || receipt.Details.Count <= 0)) { throw new ArgumentException("参数不合法", "receipt.Details"); } var receiptToUpdate = DbSession.PriceAdjustReceipts.All.Where(r => r.ID == receipt.ID && !r.IsAudited).SingleOrDefault(); if (receiptToUpdate == null) { throw new Exception("不存在该单据"); } // 单据头数据 receiptToUpdate.Remark = receipt.Remark; receiptToUpdate.SubmitDate = DateTime.Now; receiptToUpdate.SubmittedBy = receipt.SubmittedBy; // 单据明细 //receiptToUpdate.Details.Clear(); var td = DbSession.PriceAdjustReceiptDetails.Get(d => d.HeaderID == receiptToUpdate.ID); foreach (var d in td) { d.ReceiptHeader = null; DbSession.PriceAdjustReceiptDetails.Delete(d, false); } var receiptDetails = useDetails ? details : receipt.Details; int sort = 1; foreach (var d in receiptDetails) { d.ID = Guid.NewGuid(); d.Sort = sort++; d.OldAccountPrice = null; receiptToUpdate.Details.Add(d); } DbSession.SaveChanges(); }
public void SubmitTemporaryReceipt(Entities.PriceAdjustReceipt receipt, IEnumerable <PriceAdjustReceiptDetail> details = null) { if (receipt == null) { throw new NullReferenceException("receipt参数为null"); } var useDetails = (details != null && details.Count() > 0); if (!useDetails && (receipt.Details == null || receipt.Details.Count <= 0)) { throw new ArgumentException("参数不合法", "receipt.Details"); } receipt.ID = Guid.NewGuid(); receipt.NO = GetLSNO(); receipt.SubmitDate = DateTime.Now; receipt.AuditDate = null; receipt.IsAudited = false; receipt.AuditedBy = null; var receiptDetaols = useDetails ? details : receipt.Details; int sort = 1; if (useDetails) { receipt.Details.Clear(); } foreach (var d in receiptDetaols) { d.ID = Guid.NewGuid(); d.Sort = sort++; d.OldAccountPrice = null; d.ReceiptHeader = receipt; if (useDetails) { receipt.Details.Add(d); } } DbSession.PriceAdjustReceipts.Add(receipt); }
public void UpdateTemporaryReceipt(Entities.PriceAdjustReceipt receipt, IEnumerable <Entities.PriceAdjustReceiptDetail> details = null) { _service.UpdateTemporaryReceipt(receipt, details); }