diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 1b89b0e91..4f8390765 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -43,12 +43,12 @@ de-DE BeWoPlaner ownSoft GmbH - 2.0.1.292 + 2.0.1.293 true publish.htm false true - 293 + 294 2.0.1.%2a false true diff --git a/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj b/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj index eb0e6d4f7..28bbe6ecc 100644 --- a/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj +++ b/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj @@ -65,6 +65,7 @@ LeistungsnachweisSoziotherapie.cs + Component diff --git a/ReportImp/SBBMainzReports/SBBMainzReports.csproj b/ReportImp/SBBMainzReports/SBBMainzReports.csproj index 881b5ce56..d048cd982 100644 --- a/ReportImp/SBBMainzReports/SBBMainzReports.csproj +++ b/ReportImp/SBBMainzReports/SBBMainzReports.csproj @@ -110,6 +110,7 @@ QuittierungsbelegJaMainz.cs + Component diff --git a/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs b/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs new file mode 100644 index 000000000..6caabc0d0 --- /dev/null +++ b/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Plugins; +using BS.Shared; +using BS.Shared.DataContracts; + + + +namespace SBBMainzReports.Service +{ + public class CustomAccountingService : AccountingService + { + // Erstellt von Claude (KI-Assistent) am 01.04.2026. + // ErstelleStornoRechnung: Überschreibt die Basismethode zur Erstellung einer Stornorechnung. + // Die Methode ruft zunächst die Basisimplementierung auf, generiert anschließend eine neue + // Rechnungsnummer (via InvoiceNumberGenerator) und ergänzt diese um den Zusatz " Storno". + // Ebenso wird der InvoiceTypeText um " Storno" erweitert (bzw. auf "Storno" gesetzt, falls leer). + // Die fertige Stornorechnung wird in der Datenbank gespeichert und der Rechnungszähler + // um 1 erhöht. Am Ende wird die erstellte Stornorechnung zurückgegeben. + public override ServiceInvoice ErstelleStornoRechnung(InvoiceBaseDC ibdc) + { + var i = base.ErstelleStornoRechnung(ibdc); + //if (!String.IsNullOrEmpty(i.InvoiceBase.InvoiceNumber)) + //{ + // //i.InvoiceBase.InvoiceNumber = ibdc.InvoiceNumber + " Storno"; + // i.InvoiceBase.InvoiceNumber = i.InvoiceBase.InvoiceNumber + " Storno"; + //} + int invoiceCounter = 0; + var inc = PluginLoader.FindClass(); + i.InvoiceBase.InvoiceNumber = inc.GetNextInvoiceNumber(invoiceCounter, i.InvoiceBase) + " Storno"; + + if (String.IsNullOrEmpty(i.InvoiceBase.InvoiceTypeText)) + { + i.InvoiceBase.InvoiceTypeText = "Storno"; + } + else + { + i.InvoiceBase.InvoiceTypeText += " Storno"; + } + + DAOFactory.GenericDAO.Insert(i); + + inc.IncreaseInvoiceNumber(1, new List()); + + + return i; + } + } +}