示例#1
0
        public void UpdateTemporaryReceipt(Entities.StockDamagedReceipt receipt, IEnumerable <StockDamagedReceiptDetail> 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.StockDamagedReceipts.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;
            // 单据明细
            var td = DbSession.StockDamagedReceiptDetails.Get(d => d.HeaderID == receiptToUpdate.ID);

            foreach (var d in td)
            {
                DbSession.StockDamagedReceiptDetails.Delete(d, false);
            }
            var receiptDetails = useDetails ? details : receipt.Details;
            int sort           = 1;

            foreach (var d in receiptDetails)
            {
                d.ID   = Guid.NewGuid();
                d.Sort = sort++;

                receiptToUpdate.Details.Add(d);
            }

            DbSession.SaveChanges();
        }
示例#2
0
        public void SubmitTemporaryReceipt(Entities.StockDamagedReceipt receipt, IEnumerable <StockDamagedReceiptDetail> 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.AccountPrice = null;
                //d.Book = DbSession.Books.GetSingle(b => b.ID == d.BookID);
                d.ReceiptHeader = receipt;
                if (useDetails)
                {
                    receipt.Details.Add(d);
                }
            }

            DbSession.StockDamagedReceipts.Add(receipt);
        }
示例#3
0
 public void UpdateTemporaryReceipt(Entities.StockDamagedReceipt receipt, IEnumerable <Entities.StockDamagedReceiptDetail> details = null)
 {
     _service.UpdateTemporaryReceipt(receipt, details);
 }