diff --git a/Modules.Jobs/EDMI/ZUGFeRD/EmailStrings.vb b/Modules.Jobs/EDMI/ZUGFeRD/EmailStrings.vb index d68c3beb..7db2f6a4 100644 --- a/Modules.Jobs/EDMI/ZUGFeRD/EmailStrings.vb +++ b/Modules.Jobs/EDMI/ZUGFeRD/EmailStrings.vb @@ -23,7 +23,13 @@ Public Const EMAIL_NO_FERDS = "

Ihre Email enthielt keine ZUGFeRD-Dokumente.

" - Public Const EMAIL_FILE_SIZE_REACHED = "

Ihre Email enthielt Dateien, die die erlaubte Größe von {0}MB überschreiten.

" + Public Const EMAIL_FILE_SIZE_REACHED = """ +

Die von Ihnen gesendete Rechnung oder einer der Rechnungs-Anhänge überschreiten die erlaubte Größe von {0} MB.

+

Die folgende Datei hat die erlaubte Größe überschritten:

+

Der Betreff der Original-Email war: {2}

+ """ Public Const EMAIL_INVALID_DOCUMENT = """

Ihre Email enthielt ein ZUGFeRD Dokument, welches aber inkorrekt formatiert wurde.

diff --git a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb index 44ba1e3a..779283fa 100644 --- a/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb +++ b/Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb @@ -407,8 +407,10 @@ Public Class ImportZUGFeRDFiles Create_HistoryEntry(oMessageId, oMD5CheckSum, "REJECTED - File size limit reached", oFBTransaction) - Dim oBody = String.Format(EmailStrings.EMAIL_FILE_SIZE_REACHED, oArgs.MaxAttachmentSizeInMegaBytes) Dim oEmailData = MoveAndRenameEmailToRejected(oArgs, oMessageId) + Dim oKey = FileSizeLimitReachedException.KEY_FILENAME + Dim oFileExceedingThreshold = IIf(ex.Data.Contains(oKey), ex.Data.Item(oKey), "") + Dim oBody = String.Format(EmailStrings.EMAIL_FILE_SIZE_REACHED, oArgs.MaxAttachmentSizeInMegaBytes, oFileExceedingThreshold, oEmailData.Subject) _email.AddToEmailQueueMSSQL(oMessageId, oBody, oEmailData, "FileSizeLimitReachedException", _EmailOutAccountId) AddRejectedState(oMessageId, "FileSizeLimitReachedException", "Erlaubte Dateigröße überschritten", "", oSQLTransaction) @@ -767,6 +769,7 @@ Public Class ImportZUGFeRDFiles ''' Private Function Check_FileSize(pFileInfo As FileInfo, pMaxFileSizeInMegaBytes As Integer) As Boolean _logger.Info("Checking Filesize of {0}", pFileInfo.Name) + _logger.Debug("Filesize threshold is {0} MB.", pMaxFileSizeInMegaBytes) If pMaxFileSizeInMegaBytes <= 0 Then _logger.Debug("Filesize is not configured. Skipping check.") @@ -775,8 +778,6 @@ Public Class ImportZUGFeRDFiles Dim oMaxSize = pMaxFileSizeInMegaBytes * 1024 * 1024 - _logger.Debug("Filesize threshold is {0} bytes.", oMaxSize) - If oMaxSize > 0 And pFileInfo.Length > oMaxSize Then _logger.Debug("Filesize is bigger than threshold. Rejecting.") Return False diff --git a/Modules.Jobs/Exceptions.vb b/Modules.Jobs/Exceptions.vb index a649fe2a..9c135fef 100644 --- a/Modules.Jobs/Exceptions.vb +++ b/Modules.Jobs/Exceptions.vb @@ -24,8 +24,11 @@ Public Class Exceptions Public Class FileSizeLimitReachedException Inherits ApplicationException + Public Const KEY_FILENAME = "FILENAME" + Public Sub New(pFilePath As String, pFileSizeLimitInMegaBytes As Integer) MyBase.New($"At least one file exceeded the filesize limit of {pFileSizeLimitInMegaBytes}MB: {pFilePath}") + Data.Add(KEY_FILENAME, pFilePath) End Sub End Class