public void InsertEngineMaintainInvoice(EngineMaintainInvoiceDTO engineMaintainInvoice) { Supplier supplier = _supplierRepository.Get(engineMaintainInvoice.SupplierId); engineMaintainInvoice.SupplierName = supplier.CnName; EngineMaintainInvoice newEngineMaintainInvoice = MaintainInvoiceFactory.CreateEngineMaintainInvoice(); newEngineMaintainInvoice.SetInvoiceNumber(GetMaxInvoiceNumber()); MaintainInvoiceFactory.SetMaintainInvoice(newEngineMaintainInvoice, engineMaintainInvoice.SerialNumber, engineMaintainInvoice.InvoideCode, engineMaintainInvoice.InvoiceDate, engineMaintainInvoice.SupplierName, engineMaintainInvoice.SupplierId, engineMaintainInvoice.InvoiceValue, engineMaintainInvoice.PaidAmount, engineMaintainInvoice.OperatorName, engineMaintainInvoice.Reviewer, engineMaintainInvoice.Status, engineMaintainInvoice.CurrencyId, engineMaintainInvoice.DocumentName, engineMaintainInvoice.DocumentId, engineMaintainInvoice.PaymentScheduleLineId, engineMaintainInvoice.InMaintainTime, engineMaintainInvoice.OutMaintainTime); newEngineMaintainInvoice.SetType(engineMaintainInvoice.Type); if (engineMaintainInvoice.MaintainInvoiceLines != null) { foreach (MaintainInvoiceLineDTO maintainInvoiceLine in engineMaintainInvoice.MaintainInvoiceLines) { MaintainInvoiceLine newMaintainInvoiceLine = MaintainInvoiceFactory.CreateInvoiceLine(); MaintainInvoiceFactory.SetInvoiceLine(newMaintainInvoiceLine, maintainInvoiceLine.MaintainItem, maintainInvoiceLine.ItemName, maintainInvoiceLine.UnitPrice, maintainInvoiceLine.Amount, maintainInvoiceLine.Note); newEngineMaintainInvoice.InvoiceLines.Add(newMaintainInvoiceLine); } } newEngineMaintainInvoice.SetInvoiceValue(); _invoiceRepository.Add(newEngineMaintainInvoice); if (newEngineMaintainInvoice.Type == EngineMaintainInvoiceType.非FHA超包修) { var maintainCost = new NonFhaMaintainCostDTO { MaintainInvoiceId = newEngineMaintainInvoice.Id, Year = newEngineMaintainInvoice.InvoiceDate.Year, SupplierId = newEngineMaintainInvoice.SupplierId }; _maintainCostAppService.InsertNonFhaMaintainCost(maintainCost); } else { var maintainCost = new FhaMaintainCostDTO { MaintainInvoiceId = newEngineMaintainInvoice.Id, Year = newEngineMaintainInvoice.InvoiceDate.Year }; _maintainCostAppService.InsertFhaMaintainCost(maintainCost); } }
public void ModifyEngineMaintainInvoice(EngineMaintainInvoiceDTO engineMaintainInvoice) { Supplier supplier = _supplierRepository.Get(engineMaintainInvoice.SupplierId); engineMaintainInvoice.SupplierName = supplier.CnName; var updateEngineMaintainInvoice = _invoiceRepository.Get(engineMaintainInvoice.EngineMaintainInvoiceId) as EngineMaintainInvoice; //获取需要更新的对象。 MaintainInvoiceFactory.SetMaintainInvoice(updateEngineMaintainInvoice, engineMaintainInvoice.SerialNumber, engineMaintainInvoice.InvoideCode, engineMaintainInvoice.InvoiceDate, engineMaintainInvoice.SupplierName, engineMaintainInvoice.SupplierId, engineMaintainInvoice.InvoiceValue, engineMaintainInvoice.PaidAmount, engineMaintainInvoice.OperatorName, engineMaintainInvoice.Reviewer, engineMaintainInvoice.Status, engineMaintainInvoice.CurrencyId, engineMaintainInvoice.DocumentName, engineMaintainInvoice.DocumentId, engineMaintainInvoice.PaymentScheduleLineId, engineMaintainInvoice.InMaintainTime, engineMaintainInvoice.OutMaintainTime); updateEngineMaintainInvoice.SetType(engineMaintainInvoice.Type); UpdateMaintainInvoiceLines(engineMaintainInvoice.MaintainInvoiceLines, updateEngineMaintainInvoice); _invoiceRepository.Modify(updateEngineMaintainInvoice); }
public void DeleteEngineMaintainInvoice(EngineMaintainInvoiceDTO engineMaintainInvoice) { MaintainInvoice deleteEngineMaintainInvoice = _invoiceRepository.GetMaintainInvoice(engineMaintainInvoice.EngineMaintainInvoiceId); //获取需要删除的对象。 UpdateMaintainInvoiceLines(new List<MaintainInvoiceLineDTO>(), deleteEngineMaintainInvoice); _invoiceRepository.Remove(deleteEngineMaintainInvoice); //删除发动机维修发票。 }