diff --git a/GUIs.Test.ZUGFeRDTest/Form1.vb b/GUIs.Test.ZUGFeRDTest/Form1.vb index 45fa9cd5..13f00e5e 100644 --- a/GUIs.Test.ZUGFeRDTest/Form1.vb +++ b/GUIs.Test.ZUGFeRDTest/Form1.vb @@ -20,7 +20,7 @@ Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load - _logConfig = New LogConfig(LogConfig.PathType.CurrentDirectory) + _logConfig = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath & "\Log", Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName) _logConfig.Debug = True _firebird = New Firebird(_logConfig, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USER, My.Settings.FB_PASS) _mssql = New MSSQLServer(_logConfig, My.Settings.MSSQL_CONNECTIONSTRING) diff --git a/Modules.Interfaces/My Project/AssemblyInfo.vb b/Modules.Interfaces/My Project/AssemblyInfo.vb index 3c9b3cc1..213861ec 100644 --- a/Modules.Interfaces/My Project/AssemblyInfo.vb +++ b/Modules.Interfaces/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/Modules.Interfaces/ZUGFeRDInterface.vb b/Modules.Interfaces/ZUGFeRDInterface.vb index af058500..429f64cb 100644 --- a/Modules.Interfaces/ZUGFeRDInterface.vb +++ b/Modules.Interfaces/ZUGFeRDInterface.vb @@ -11,7 +11,7 @@ Public Class ZUGFeRDInterface Private _logConfig As LogConfig Private _logger As Logger - Private Const ZUGFERD_CONVERTER_EXE = "ZUGFeRDInterface\pdf_zugferd_lib\pdf_zugferd_test.exe" + Private Const ZUGFERD_CONVERTER_EXE = "ZUGFeRDInterface\pdf_zugferd_test.exe" 'ZUGFeRDInterface\pdf_zugferd_lib\pdf_zugferd_test.exe Private Const ZUGFERD_CONVERTER_SUCCESS_MESSAGE = "Document contains ZUGFeRD data." Public Enum ErrorType diff --git a/Modules.Interfaces/ZUGFeRDInterface/PropertyValues.vb b/Modules.Interfaces/ZUGFeRDInterface/PropertyValues.vb index db526ffc..508ede7c 100644 --- a/Modules.Interfaces/ZUGFeRDInterface/PropertyValues.vb +++ b/Modules.Interfaces/ZUGFeRDInterface/PropertyValues.vb @@ -48,14 +48,14 @@ Public Class PropertyValues ToLookup(Function(Item) Item.Value.GroupScope, ' Lookup key is group scope Function(Item) Item) - _logger.Debug("Found {0} properties grouped in {1} group(s)", PropertyMap.Count - oDefaultProperties.Count, oGroupedProperties.Count) + _logger.Debug($"Found [{PropertyMap.Count - oDefaultProperties.Count}] properties grouped in [{oGroupedProperties.Count}] group(s)") ' Iterate through groups to get group scope and group items For Each oGroup In oGroupedProperties Dim oGroupScope As String = oGroup.Key Dim oPropertyList As New Dictionary(Of XmlItemProperty, List(Of Object)) Dim oRowCount = 0 - _logger.Debug("Fetching Property values for group {0}.", oGroupScope) + _logger.Debug($"Fetching Property values for group [{oGroupScope}].") ' get properties as a nested object, see `oPropertyList` For Each oProperty As KeyValuePair(Of String, XmlItemProperty) In oGroup @@ -94,24 +94,26 @@ Public Class PropertyValues Dim oTableName As String = oColumn.Key.TableName Dim oPropertyDescription As String = oColumn.Key.Description Dim oRowCounter = oRowIndex + oGlobalGroupCounter + 1 + If IsNothing(oRowCounter) Then + End If ' Returns nothing if oColumn.Value contains an empty list Dim oPropertyValue = oColumn.Value.ElementAtOrDefault(oRowIndex) - _logger.Debug("Processing property {0}.", oPropertyDescription) + _logger.Debug("Processing property [{0}].", oPropertyDescription) If IsNothing(oPropertyValue) OrElse String.IsNullOrEmpty(oPropertyValue) Then If oColumn.Key.IsRequired Then - _logger.Warn("Property [{0}] is empty or not found but is required. Continuing with Empty String.", oPropertyDescription) + _logger.Warn($"Property [{oPropertyDescription}] is empty or not found but is required. Continuing with Empty String.") oResult.MissingProperties.Add(oPropertyDescription) Else - _logger.Debug("Property [{0}] is empty or not found. Continuing with Empty String.", oPropertyDescription) + _logger.Debug($"Property [{oPropertyDescription}] is empty or not found. Continuing with Empty String.") End If oPropertyValue = String.Empty End If - _logger.Debug("Property {0} has value '{1}'", oPropertyDescription, oPropertyValue) + _logger.Debug("Property [{0}] has value '{1}'", oPropertyDescription, oPropertyValue) oResult.ValidProperties.Add(New ValidProperty() With { .MessageId = MessageId, diff --git a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb index dbd3f404..cb75847b 100644 --- a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb +++ b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb @@ -27,7 +27,7 @@ Public Class ImportZUGFeRDFiles Public HISTORY_ID As Integer ' List of allowed extensions for PDF/A Attachments - Private ReadOnly AllowedExtensions As List(Of String) = New List(Of String) From {"docx", "doc", "pdf", "xls", "xlsx", "ppt", "pptx", "txt"} + Private ReadOnly AllowedExtensions As List(Of String) = New List(Of String) From {"xml", "docx", "doc", "pdf", "xls", "xlsx", "ppt", "pptx", "txt"} Private ReadOnly _logger As Logger Private ReadOnly _logConfig As LogConfig @@ -425,20 +425,28 @@ Public Class ImportZUGFeRDFiles If oProperty.GroupCounter > -1 Then oGroupCounterValue = oProperty.GroupCounter End If - - Dim oCommand = $"INSERT INTO {oProperty.TableName} (REFERENCE_GUID, ITEM_DESCRIPTION, ITEM_VALUE, GROUP_COUNTER) VALUES ('{oMessageId}', '{oProperty.Description}', '{oProperty.Value}', {oGroupCounterValue})" - _logger.Debug("Mapping Property [{0}] to value [{1}] . Will be inserted into table {2}", oProperty.Description, oProperty.Value, oProperty.TableName) - - ' Insert into SQL Server - If oArgs.InsertIntoSQLServer = True Then - Dim oResult = _mssql.NewExecutenonQuery(oCommand) - If oResult = False Then - _logger.Warn("SQL Command was not successful. Check the log.") + If (oGroupCounterValue > 0) = False Then + Dim oTerm As String + If IsNothing(oGroupCounterValue) Then + oTerm = "NOTHING" + Else + oTerm = oGroupCounterValue.ToString End If + _logger.Warn($"[ImportZUGFeRDFiles] - oGroupCounterValue is not valid [{oTerm}]!!") + Else + Dim oCommand = $"INSERT INTO {oProperty.TableName} (REFERENCE_GUID, ITEM_DESCRIPTION, ITEM_VALUE, GROUP_COUNTER) VALUES ('{oMessageId}', '{oProperty.Description}', '{oProperty.Value}', {oGroupCounterValue})" + _logger.Debug("Mapping Property [{0}] to value [{1}] . Will be inserted into table {2}", oProperty.Description, oProperty.Value, oProperty.TableName) + ' Insert into SQL Server + If oArgs.InsertIntoSQLServer = True Then + Dim oResult = _mssql.NewExecutenonQuery(oCommand) + If oResult = False Then + _logger.Warn($"SQL Command [{oCommand}] was not successful. Check the log.") + End If + End If + ' Insert into Firebird + _firebird.ExecuteNonQueryWithConnection(oCommand, oConnection, Firebird.TransactionMode.ExternalTransaction, oTransaction) End If - ' Insert into Firebird - _firebird.ExecuteNonQueryWithConnection(oCommand, oConnection, Firebird.TransactionMode.ExternalTransaction, oTransaction) Next Next @@ -510,7 +518,7 @@ Public Class ImportZUGFeRDFiles For Each prop In oMissingProperties oMessage &= $"- {prop}" Next - Dim oSQL = $"UPDATE TBEDM_ZUGFERD_HISTORY_IN SET COMMENT = 'REJECTED - Missing Required Properties: {oMessage}' WHERE GUID = '{HISTORY_ID}'" + Dim oSQL = $"UPDATE TBEDM_ZUGFERD_HISTORY_IN SET COMMENT = 'REJECTED - Missing Required Properties: [{oMessage}]' WHERE GUID = '{HISTORY_ID}'" _firebird.ExecuteNonQuery(oSQL) Dim oBody = CreateBodyForMissingProperties(ex.File.Name, oMissingProperties) diff --git a/Modules.Jobs/My Project/AssemblyInfo.vb b/Modules.Jobs/My Project/AssemblyInfo.vb index bb2bef03..0fe78cac 100644 --- a/Modules.Jobs/My Project/AssemblyInfo.vb +++ b/Modules.Jobs/My Project/AssemblyInfo.vb @@ -30,5 +30,5 @@ Imports System.Runtime.InteropServices ' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern ' übernehmen, indem Sie "*" eingeben: - +