public void DeleteMaintainCreditNoteInvoice(MaintainCreditNoteDTO creditNoteInvoice) { if (creditNoteInvoice == null) { throw new ArgumentException("参数为空!"); } BasePurchaseInvoice delCreditNoteInvoice = _invoiceRepository.GetBasePurchaseInvoice(creditNoteInvoice.CreditNoteId); //获取需要删除的对象。 if (delCreditNoteInvoice != null) { _invoiceRepository.DeleteInvoice(delCreditNoteInvoice); //删除贷项单。 } }
public void ModifyMaintainCreditNoteInvoice(MaintainCreditNoteDTO creditNoteInvoice) { Supplier supplier = _supplierRepository.GetFiltered(p => p.Id == creditNoteInvoice.SupplierId).FirstOrDefault(); Currency currency = _currencyRepository.GetFiltered(p => p.Id == creditNoteInvoice.CurrencyId).FirstOrDefault(); BasePurchaseInvoice updateCreditNoteInvoice = _invoiceRepository.GetBasePurchaseInvoice(creditNoteInvoice.CreditNoteId); //获取需要更新的对象。 if (updateCreditNoteInvoice != null) { InvoiceFactory.SetInvoice(updateCreditNoteInvoice, creditNoteInvoice.InvoideCode, creditNoteInvoice.InvoiceDate, creditNoteInvoice.OperatorName, creditNoteInvoice.InvoiceNumber, supplier, null, creditNoteInvoice.PaidAmount, currency, creditNoteInvoice.PaymentScheduleLineId, creditNoteInvoice.Status); //更新主表。 UpdateInvoiceLines(creditNoteInvoice.InvoiceLines, updateCreditNoteInvoice, null); //更新从表。 } _invoiceRepository.Modify(updateCreditNoteInvoice); }
public void InsertMaintainCreditNoteInvoice(MaintainCreditNoteDTO creditNoteInvoice) { Supplier supplier = _supplierRepository.GetFiltered(p => p.Id == creditNoteInvoice.SupplierId).FirstOrDefault(); Currency currency = _currencyRepository.GetFiltered(p => p.Id == creditNoteInvoice.CurrencyId).FirstOrDefault(); MaintainCreditNoteInvoice newCreditNoteInvoice = InvoiceFactory.CreateMaintainCreditNoteInvoice(creditNoteInvoice.InvoideCode, creditNoteInvoice.InvoiceDate, creditNoteInvoice.OperatorName); DateTime date = DateTime.Now.Date; int seq = _invoiceRepository.GetFiltered(t => t.CreateDate > date).Count() + 1; newCreditNoteInvoice.SetInvoiceNumber(seq); newCreditNoteInvoice.SetSupplier(supplier); newCreditNoteInvoice.SetPaidAmount(creditNoteInvoice.PaidAmount); newCreditNoteInvoice.SetCurrency(currency); newCreditNoteInvoice.SetPaymentScheduleLine(creditNoteInvoice.PaymentScheduleLineId); newCreditNoteInvoice.SetInvoiceStatus(InvoiceStatus.草稿); foreach (InvoiceLineDTO invoiceLine in creditNoteInvoice.InvoiceLines) { newCreditNoteInvoice.AddInvoiceLine(invoiceLine.ItemName, invoiceLine.Amount, null, invoiceLine.Note); } newCreditNoteInvoice.SetInvoiceValue(); _invoiceRepository.Add(newCreditNoteInvoice); }