From e11e5f202ece3576323101c6ccd9b169da6ce563 Mon Sep 17 00:00:00 2001 From: pitzm Date: Wed, 23 Sep 2026 13:38:00 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Web=20Parser:=20Neue=20Tabelle=20f=C3=BCr?= =?UTF-8?q?=20History=20Daten=20in=20TBEDMI=5FWEBPARSER=5FHISTORY=20umbena?= =?UTF-8?q?nnt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ValidationController.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs index 4a343ecf..fc98d01a 100644 --- a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs +++ b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs @@ -372,7 +372,7 @@ namespace ZUGFeRDRESTService.Controllers if (oValidateResultString.Equals(VALIDATION_SUCCESS)) { _ParserResult.ResultString = "SUCCESS"; - InsertWebParserResult(_ParserResult); + InsertWebParserHistory(_ParserResult); string oMessage = "Die hochgeladene Datei ist eine gültige-ZUGFeRD Rechnung"; _logger.Info($"Responding with message: [{oMessage}]"); @@ -386,7 +386,7 @@ namespace ZUGFeRDRESTService.Controllers } else { - InsertWebParserResult(_ParserResult); + InsertWebParserHistory(_ParserResult); string oMessage = oValidateResultString; _logger.Info($"Responding with message: [{oMessage}]"); @@ -443,7 +443,7 @@ namespace ZUGFeRDRESTService.Controllers oMessage = "Alte Logik. Meldung nicht gefunden"; } - InsertWebParserResult(_ParserResult); + InsertWebParserHistory(_ParserResult); _logger.Info($"Responding with message: [{oMessage}]"); @@ -507,7 +507,7 @@ namespace ZUGFeRDRESTService.Controllers oMessage += " " + htmlResultString; } - InsertWebParserResult(_ParserResult); + InsertWebParserHistory(_ParserResult); return new ValidationResponse() { @@ -522,7 +522,7 @@ namespace ZUGFeRDRESTService.Controllers string oMessage = "Die hochgeladene Datei kann nicht validiert werden, weil ein unbekannter Fehler aufgetreten ist."; _ParserResult.ResultString = ZUGFERD_Rejection_20010; - InsertWebParserResult(_ParserResult); + InsertWebParserHistory(_ParserResult); _logger.Info($"Responding with message: [{oMessage}]"); @@ -534,11 +534,11 @@ namespace ZUGFeRDRESTService.Controllers } } - private void InsertWebParserResult(ParserResult oParserResult) + private void InsertWebParserHistory(ParserResult oParserResult) { try { - var insertResultSQL = "INSERT INTO TBEDMI_PARSER_RESULTS (" + + var insertResultSQL = "INSERT INTO TBEDMI_WEBPARSER_HISTORY (" + " REFERENCE_GUID, WEB_FILENAME, WEB_MAIL_ADRESS, WEB_LANGUAGE, PARSER_RESULT, XML_INVOICE_NUMBER, XML_SELLER_TRADE_PARTY_NAME, XML_SELLER_MAIL_ADRESS, " + " XML_SPECIFICATION, XML_SCHEMA, XML_FILE_TYPE, ADDED_WHO " + ") VALUES (" + @@ -564,10 +564,10 @@ namespace ZUGFeRDRESTService.Controllers if (!retValue) { - _logger.Warn("INSERT to TBEDMI_PARSER_RESULTS NOT successfull"); + _logger.Warn("INSERT to TBEDMI_WEBPARSER_HISTORY NOT successfull"); } - _logger.Debug("INSERT to TBEDMI_PARSER_RESULTS successfull"); + _logger.Debug("INSERT to TBEDMI_WEBPARSER_HISTORY successfull"); } catch (Exception ex) { From 69ce9dadbe6520ca974d9e9cfecea978ba80bf87 Mon Sep 17 00:00:00 2001 From: pitzm Date: Thu, 24 Sep 2026 11:49:06 +0200 Subject: [PATCH 2/2] =?UTF-8?q?ZUGFERD=20REST=20Service:=20Exception,=20we?= =?UTF-8?q?nn=20Knoten=20f=C3=BCr=20neue=20Tabelle=20nicht=20vorhanden=20w?= =?UTF-8?q?aren.=20Korrektur=20&=20Pr=C3=BCfung=20aller=20Eingaben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ValidationController.cs | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs index fc98d01a..291b10e3 100644 --- a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs +++ b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs @@ -283,9 +283,9 @@ namespace ZUGFeRDRESTService.Controllers _UserLanguageCode = GERMAN; } - _ParserResult.WebFilename = file.FileName; - _ParserResult.WebMailAdress = oUserId; - _ParserResult.WebLanguage = _UserLanguageCode; + _ParserResult.WebFilename = file != null && !string.IsNullOrEmpty(file.FileName) ? file.FileName : string.Empty; + _ParserResult.WebMailAdress = !string.IsNullOrEmpty(oUserId) ? oUserId : string.Empty; + _ParserResult.WebLanguage = !string.IsNullOrEmpty(_UserLanguageCode) ? _UserLanguageCode : string.Empty; try { @@ -322,9 +322,9 @@ namespace ZUGFeRDRESTService.Controllers oZugferdResult.ReceiptFileType = "XML"; } - _ParserResult.XML_Specification = oZugferdResult.Specification; - _ParserResult.XML_Schema = oZugferdResult.UsedXMLSchema; - _ParserResult.XML_FileType = oZugferdResult.ReceiptFileType; + _ParserResult.XML_Specification = !string.IsNullOrEmpty(oZugferdResult.Specification) ? oZugferdResult.Specification : string.Empty; + _ParserResult.XML_Schema = !string.IsNullOrEmpty(oZugferdResult.UsedXMLSchema) ? oZugferdResult.UsedXMLSchema : string.Empty; + _ParserResult.XML_FileType = !string.IsNullOrEmpty(oZugferdResult.ReceiptFileType) ? oZugferdResult.ReceiptFileType : string.Empty; _logger.Info("Detected Specification was: [{0}]", oZugferdResult.Specification); @@ -645,9 +645,13 @@ namespace ZUGFeRDRESTService.Controllers return new Tuple(false, string.Empty); } - oParserResult.XML_InvoiceNumber = pProperties.Where(p => p.EN16931_ID == "BT-1").FirstOrDefault().Value; - oParserResult.XML_SellerTradePartyName = pProperties.Where(p => p.EN16931_ID == "BT-27").FirstOrDefault().Value; - oParserResult.XML_SellerEmailAdress = pProperties.Where(p => p.EN16931_ID == "BT-34").FirstOrDefault().Value; + _logger.Debug("Collecting history data"); + var bt1Item = pProperties.Where(p => p.EN16931_ID == "BT-1").FirstOrDefault(); + oParserResult.XML_InvoiceNumber = bt1Item != null ? bt1Item.Value : string.Empty; + var bt27Item = pProperties.Where(p => p.EN16931_ID == "BT-27").FirstOrDefault(); + oParserResult.XML_SellerTradePartyName = bt27Item != null ? bt27Item.Value : string.Empty; + var bt34Item = pProperties.Where(p => p.EN16931_ID == "BT-34").FirstOrDefault(); + oParserResult.XML_SellerEmailAdress = bt34Item != null ? bt34Item.Value : string.Empty; _logger.Debug("Calling validation prodecure."); try