From b323445821dea5786ee8b0d48898d1a3aca0e33c Mon Sep 17 00:00:00 2001
From: Jonathan Jenne
Date: Tue, 20 Jul 2021 13:21:04 +0200
Subject: [PATCH] Jobs: Change Email Text for Filesize Exceeded
---
Modules.Jobs/EDMI/ZUGFeRD/EmailStrings.vb | 8 +++++++-
Modules.Jobs/EDMI/ZUGFeRD/ImportZUGFeRDFiles.vb | 7 ++++---
Modules.Jobs/Exceptions.vb | 3 +++
3 files changed, 14 insertions(+), 4 deletions(-)
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