Jobs/Interfaces: add options for enabling / disabling zugferd schemas

This commit is contained in:
Jonathan Jenne
2022-12-16 09:29:34 +01:00
parent 67cdc580fa
commit 3df54fa62c
2 changed files with 20 additions and 8 deletions

View File

@@ -35,6 +35,8 @@ Public Class ZUGFeRDInterface
Public Class ZugferdOptions Public Class ZugferdOptions
Public Property AllowFacturX_Filename As Boolean = True Public Property AllowFacturX_Filename As Boolean = True
Public Property AllowXRechnung_Filename As Boolean = True Public Property AllowXRechnung_Filename As Boolean = True
Public Property AllowZugferd_1_0_Schema As Boolean = True
Public Property AllowZugferd_2_x_Schema As Boolean = True
End Class End Class
''' <summary> ''' <summary>
@@ -220,14 +222,21 @@ Public Class ZUGFeRDInterface
Dim oReader As XmlReader Dim oReader As XmlReader
Dim oResult = Nothing Dim oResult = Nothing
Dim oTypes As New List(Of Type) From { Dim oAllowedTypes As New List(Of Type)
GetType(ZUGFeRD.Version1_0.CrossIndustryDocumentType),
GetType(ZUGFeRD.Version2_0.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_1_1.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_2_FacturX.CrossIndustryInvoiceType)
}
For Each oType In oTypes If _Options.AllowZugferd_1_0_Schema Then
oAllowedTypes.Add(GetType(ZUGFeRD.Version1_0.CrossIndustryDocumentType))
End If
If _Options.AllowZugferd_2_x_Schema Then
oAllowedTypes.AddRange(New List(Of Type) From {
GetType(ZUGFeRD.Version2_0.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_1_1.CrossIndustryInvoiceType),
GetType(ZUGFeRD.Version2_2_FacturX.CrossIndustryInvoiceType)
})
End If
For Each oType In oAllowedTypes
_logger.Debug("Trying Type [{0}]", oType.FullName) _logger.Debug("Trying Type [{0}]", oType.FullName)
Dim oSerializer As New XmlSerializer(oType) Dim oSerializer As New XmlSerializer(oType)
@@ -251,7 +260,8 @@ Public Class ZUGFeRDInterface
Catch ex As Exception Catch ex As Exception
_logger.Error(ex) _logger.Error(ex)
Throw New ZUGFeRDExecption(ErrorType.NoValidZugferd, "Datei ist eine ungültige ZUGFeRD Datei.") Dim oMessage = "Datei ist eine ungültige ZUGFeRD Datei oder das Format wird nicht unterstüzt, oder das Format ist deaktiviert."
Throw New ZUGFeRDExecption(ErrorType.NoValidZugferd, oMessage)
End Try End Try
End Function End Function

View File

@@ -26,4 +26,6 @@ Public Class WorkerArgs
Public AllowFacturX As Boolean = True Public AllowFacturX As Boolean = True
Public AllowXRechnung As Boolean = True Public AllowXRechnung As Boolean = True
Public AllowZugferd10 As Boolean = True
Public AllowZugferd2x As Boolean = True
End Class End Class