diff --git a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb index 85a939a8..21f85828 100644 --- a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb +++ b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb @@ -240,8 +240,8 @@ Public Class ImportZUGFeRDFiles oEmbeddedAttachmentFiles.AddRange(oAttachments) End If - ' TODO MD5 - oMD5CheckSum = Check_MD5Sum(oFile.FullName) + ' Check the Checksum and rejection status + oMD5CheckSum = Check_MD5Sum(oFile.FullName, oArgs.IgnoreRejectionStatus) ' Check if there are more than one ZUGFeRD files If oZUGFeRDCount = 1 Then @@ -723,7 +723,7 @@ Public Class ImportZUGFeRDFiles ' even if the Checksum exists in the history entries (default case) ' Which means, if it was not rejected before, it will be rejected in any case! ' - ' This logic can be overwritten by the ForceRejection parameter. + ' This logic can be overwritten by the IgnoreRejectionStatus parameter. ' If it is set to true, the file will be rejected if the file exists in the history entries, ' regardless of the rejected parameter. If oRejected = False Or pIgnoreRejectionStatus = True Then diff --git a/Modules.Jobs/EDMI/ZUGFeRD/WorkerArgs.vb b/Modules.Jobs/EDMI/ZUGFeRD/WorkerArgs.vb index 06790383..32db905e 100644 --- a/Modules.Jobs/EDMI/ZUGFeRD/WorkerArgs.vb +++ b/Modules.Jobs/EDMI/ZUGFeRD/WorkerArgs.vb @@ -7,11 +7,13 @@ Public Class WorkerArgs Public ErrorDirectory As String Public OriginalEmailDirectory As String Public RejectedEmailDirectory As String - Public ExceptionEmailAddress As String Public AttachmentsSubDirectory As String Public PropertyMap As Dictionary(Of String, XmlItemProperty) Public InsertIntoSQLServer As Boolean + Public ExceptionEmailAddress As String + Public IgnoreRejectionStatus As Boolean + Public Sub New() WatchDirectories = New List(Of String) SuccessDirectory = Nothing @@ -19,8 +21,10 @@ Public Class WorkerArgs OriginalEmailDirectory = Nothing RejectedEmailDirectory = Nothing AttachmentsSubDirectory = Nothing - ExceptionEmailAddress = Nothing PropertyMap = New Dictionary(Of String, XmlItemProperty) InsertIntoSQLServer = False + + ExceptionEmailAddress = Nothing + IgnoreRejectionStatus = False End Sub End Class \ No newline at end of file diff --git a/Services.ZUGFeRDService/Config.vb b/Services.ZUGFeRDService/Config.vb index 63e70750..f0359b1a 100644 --- a/Services.ZUGFeRDService/Config.vb +++ b/Services.ZUGFeRDService/Config.vb @@ -1,5 +1,7 @@ Public Class Config Public Property Firebird As New FirebirdConfig + Public Property Custom As New CustomConfig + Public Property MSSQLConnectionString As String = "" Public Property MSSQLEnabled As Boolean = False Public Property MSSQLEmailOutAccountID As String = 1 @@ -9,6 +11,18 @@ Public Property Debug As Boolean = False + Public Class CustomConfig + ''' + ''' If the file was already rejected, it is allowed to be processed again, + ''' even if the Checksum exists in the history entries (default case) + ''' + ''' This logic can be overwritten by the IgnoreRejectionStatus parameter. + ''' If it is set to true, the file will be rejected if the file exists in the history entries, + ''' regardless of the REJECTED status. + ''' + Public Property IgnoreRejectionStatus As Boolean = False + End Class + Public Class FirebirdConfig Public Property DataSource As String = "172.24.12.41" Public Property Database As String = "172.24.12.41:E:\DB\Firebird\Databases\EDMI_TEMPLATE\EDMI_MASTER.FDB" diff --git a/Services.ZUGFeRDService/ThreadRunner.vb b/Services.ZUGFeRDService/ThreadRunner.vb index 68579ecc..8df1a938 100644 --- a/Services.ZUGFeRDService/ThreadRunner.vb +++ b/Services.ZUGFeRDService/ThreadRunner.vb @@ -50,7 +50,8 @@ Public Class ThreadRunner End Try Dim oArgs As New WorkerArgs With { - .ExceptionEmailAddress = _config.Config.ExceptionEmailAddress + .ExceptionEmailAddress = _config.Config.ExceptionEmailAddress, + .IgnoreRejectionStatus = _config.Config.Custom.IgnoreRejectionStatus } oArgs = LoadFolderConfig(oArgs) oArgs = LoadPropertyMapFor(oArgs, "DEFAULT")