public void InsertSpecialRefitInvoice(SpecialRefitInvoiceDTO specialRefitInvoice) { Supplier supplier = _supplierRepository.Get(specialRefitInvoice.SupplierId); specialRefitInvoice.SupplierName = supplier.CnName; SpecialRefitInvoice newSpecialRefitInvoice = MaintainInvoiceFactory.CreateSpecialRefitInvoice(); newSpecialRefitInvoice.SetInvoiceNumber(GetMaxInvoiceNumber()); MaintainInvoiceFactory.SetMaintainInvoice(newSpecialRefitInvoice, "0", specialRefitInvoice.InvoideCode, specialRefitInvoice.InvoiceDate, specialRefitInvoice.SupplierName, specialRefitInvoice.SupplierId, specialRefitInvoice.InvoiceValue, specialRefitInvoice.PaidAmount, specialRefitInvoice.OperatorName, specialRefitInvoice.Reviewer, specialRefitInvoice.Status, specialRefitInvoice.CurrencyId, specialRefitInvoice.DocumentName, specialRefitInvoice.DocumentId, specialRefitInvoice.PaymentScheduleLineId, specialRefitInvoice.InMaintainTime, specialRefitInvoice.OutMaintainTime); if (specialRefitInvoice.MaintainInvoiceLines != null) { foreach (MaintainInvoiceLineDTO maintainInvoiceLine in specialRefitInvoice.MaintainInvoiceLines) { MaintainInvoiceLine newMaintainInvoiceLine = MaintainInvoiceFactory.CreateInvoiceLine(); MaintainInvoiceFactory.SetInvoiceLine(newMaintainInvoiceLine, maintainInvoiceLine.MaintainItem, maintainInvoiceLine.ItemName, 1, maintainInvoiceLine.Amount, maintainInvoiceLine.Note); newSpecialRefitInvoice.InvoiceLines.Add(newMaintainInvoiceLine); } } newSpecialRefitInvoice.SetInvoiceValue(); _invoiceRepository.Add(newSpecialRefitInvoice); var maintainCost = new SpecialRefitMaintainCostDTO { MaintainInvoiceId = newSpecialRefitInvoice.Id, Year = newSpecialRefitInvoice.InvoiceDate.Year }; _maintainCostAppService.InsertSpecialRefitMaintainCost(maintainCost); }
public void ModifySpecialRefitInvoice(SpecialRefitInvoiceDTO specialRefitInvoice) { Supplier supplier = _supplierRepository.Get(specialRefitInvoice.SupplierId); specialRefitInvoice.SupplierName = supplier.CnName; MaintainInvoice updateSpecialRefitInvoice = _invoiceRepository.GetMaintainInvoice(specialRefitInvoice.SpecialRefitId); //获取需要更新的对象。 MaintainInvoiceFactory.SetMaintainInvoice(updateSpecialRefitInvoice, "0", specialRefitInvoice.InvoideCode, specialRefitInvoice.InvoiceDate, specialRefitInvoice.SupplierName, specialRefitInvoice.SupplierId, specialRefitInvoice.InvoiceValue, specialRefitInvoice.PaidAmount, specialRefitInvoice.OperatorName, specialRefitInvoice.Reviewer, specialRefitInvoice.Status, specialRefitInvoice.CurrencyId, specialRefitInvoice.DocumentName, specialRefitInvoice.DocumentId, specialRefitInvoice.PaymentScheduleLineId, specialRefitInvoice.InMaintainTime, specialRefitInvoice.OutMaintainTime); UpdateMaintainInvoiceLines(specialRefitInvoice.MaintainInvoiceLines, updateSpecialRefitInvoice); _invoiceRepository.Modify(updateSpecialRefitInvoice); }
public void DeleteSpecialRefitInvoice(SpecialRefitInvoiceDTO specialRefitInvoice) { if (specialRefitInvoice == null) { throw new ArgumentException("参数为空!"); } BasePurchaseInvoice delSpecialRefitInvoice = _invoiceRepository.GetBasePurchaseInvoice(specialRefitInvoice.SpecialRefitId); //获取需要删除的对象。 if (delSpecialRefitInvoice != null) { _invoiceRepository.DeleteInvoice(delSpecialRefitInvoice); //删除特修改装发票。 } }