From 1bcf91f7c8ab57657448a4a10df6bfdf78351589 Mon Sep 17 00:00:00 2001 From: pitzm Date: Wed, 10 Sep 2025 08:46:36 +0200 Subject: [PATCH] EMailprofile.Common: Korrektur Fall ein normaler Anhang ist defekt. --- App/EmailProfiler.Common/clsWorkEmail.vb | 40 +++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/App/EmailProfiler.Common/clsWorkEmail.vb b/App/EmailProfiler.Common/clsWorkEmail.vb index 2879dd0..908680a 100644 --- a/App/EmailProfiler.Common/clsWorkEmail.vb +++ b/App/EmailProfiler.Common/clsWorkEmail.vb @@ -208,9 +208,8 @@ Public Class clsWorkEmail _Logger.Debug("CommonEmail-Process-Sniffer") - Dim oCommonEmailResult = CommonEmail_IN(_CurrentMail) - - If oCommonEmailResult = False Then + ' Allgemeine Verarbeitung der EMail + If CommonEmail_IN(_CurrentMail) = False Then Return False End If @@ -1010,12 +1009,12 @@ Public Class clsWorkEmail Else oAttachmentCount -= 1 CleanUpFilePath(oEmailAttachment.DestFilePath) + UpdateAttachmentTableAfterError(oEmailAttachment.OrgFileName, pCurrentMail.MessageId, "PDF Structure corrupt") oEmailAttachment.FileStatus = oStatus oEmailAttachment.ErrorCodeValue = ErrorCode.NormalFileAttachmentCorrupt oEmailAttachment.ErrorCodeComment = "PDF Structure corrupt" oEmailAttachment.IsAttachmentValid = False - MESSAGE_ERROR = True Continue For End If @@ -1039,6 +1038,7 @@ Public Class clsWorkEmail End Function + ''' ''' Holt aus alle Anhängen diejenigen raus, ''' die einen erlaubten Dateianhang haben @@ -1153,6 +1153,38 @@ Public Class clsWorkEmail End Try End Function + ''' + ''' Aktualisiert Datensätze in der Tabelle TBEMLP_HISTORY_ATTACHMENT + ''' wenn ein Fehler bei einem Attachment aufgetreten ist. + ''' + Private Sub UpdateAttachmentTableAfterError(pOrgFileName As String, pMessageID As String, pComment As String) + + If String.IsNullOrEmpty(pOrgFileName) Then + _Logger.Info("Parameter [pOrgFileName] missing") + Return + End If + + If String.IsNullOrEmpty(pMessageID) Then + _Logger.Info("Parameter [pMessageID] missing") + Return + End If + + If pComment Is Nothing Then + pComment = "-" + Return + End If + + Dim updateSQL As String = "UPDATE [DD_ECM].[dbo].[TBEMLP_HISTORY_ATTACHMENT] SET COMMENT = '@PARAM_COMMENT', EMAIL_ATTMT_INDEX = '-' WHERE EMAIL_MSGID = '@PARAM_MSGID' AND EMAIL_ATTMT = '@PARAM_ORGFILE';" + + updateSQL = updateSQL.Replace("@PARAM_COMMENT", pComment) + updateSQL = updateSQL.Replace("@PARAM_MSGID", pMessageID) + updateSQL = updateSQL.Replace("@PARAM_ORGFILE", pOrgFileName) + + _Logger.Info("Execute UPDATE-SQL: [{0}]", updateSQL) + _DB_MSSQL.ExecuteNonQuery(updateSQL) + + End Sub + ''' ''' Falls Datei bereits existiert, lösche sie jetzt '''