Fix missing null check for wm fields

This commit is contained in:
Jonathan Jenne 2023-10-11 14:01:56 +02:00
parent 0c8aeb6e5a
commit 52d75c64cc

View File

@ -368,14 +368,15 @@ Public Class clsWorkEmail
For Each oRow As DataRow In PM_ROW For Each oRow As DataRow In PM_ROW
DeleteMail = oRow("DELETE_MAIL") DeleteMail = oRow("DELETE_MAIL")
CurrentMailProcessName = oRow.Item("PROCESS_NAME") CurrentMailProcessName = oRow.Item("PROCESS_NAME")
WM_OBJEKTTYPE = oRow.ItemEx("WM_OBJEKTTYPE", "")
WM_REFERENCE_INDEX = oRow.ItemEx("WM_REFERENCE_INDEX", "") WM_REFERENCE_INDEX = oRow.ItemEx("WM_REFERENCE_INDEX", "")
WM_VECTOR_LOG = oRow.ItemEx("WM_VECTOR_LOG", "") WM_VECTOR_LOG = oRow.ItemEx("WM_VECTOR_LOG", "")
WM_IDX_BODY_TEXT = oRow.ItemEx("WM_IDX_BODY_TEXT", "")
WM_IDX_BODY_SUBSTR_LENGTH = oRow.ItemEx("WM_IDX_BODY_SUBSTR_LENGTH", 0)
WM_OBJEKTTYPE = oRow.Item("WM_OBJEKTTYPE")
WM_IDX_BODY_TEXT = oRow.Item("WM_IDX_BODY_TEXT")
WM_IDX_BODY_SUBSTR_LENGTH = oRow.Item("WM_IDX_BODY_SUBSTR_LENGTH")
Dim oPathOriginal As String = oRow.ItemEx("PATH_ORIGINAL", "") Dim oPathOriginal As String = oRow.ItemEx("PATH_ORIGINAL", "")
Dim oExtractMainPath As String = oRow("PATH_EMAIL_TEMP") Dim oExtractMainPath As String = oRow.ItemEx("PATH_EMAIL_TEMP", "")
Try Try
Dim oSplit As String() Dim oSplit As String()
Dim oStorage As String Dim oStorage As String
@ -573,7 +574,7 @@ Public Class clsWorkEmail
oPattern2 = "" oPattern2 = ""
End Try End Try
Dim oReg As Regex = New Regex(oPattern1, RegexOptions.IgnoreCase) Dim oReg As New Regex(oPattern1, RegexOptions.IgnoreCase)
Dim oMatch As Match = oReg.Match(CURRENT_MAIL_BODY_ALL) Dim oMatch As Match = oReg.Match(CURRENT_MAIL_BODY_ALL)
Dim oClearedBodyText = CURRENT_MAIL_BODY_ALL Dim oClearedBodyText = CURRENT_MAIL_BODY_ALL
Do While oMatch.Success Do While oMatch.Success
@ -581,7 +582,7 @@ Public Class clsWorkEmail
oMatch = oMatch.NextMatch() oMatch = oMatch.NextMatch()
Loop Loop
_Logger.Debug($"Cleared bodytext after Regex1 is: {oClearedBodyText}") _Logger.Debug($"Cleared bodytext after Regex1 is: {oClearedBodyText}")
Dim oReg2 As Regex = New Regex(oPattern2, RegexOptions.IgnoreCase) Dim oReg2 As New Regex(oPattern2, RegexOptions.IgnoreCase)
Dim oMatch2 As Match = oReg2.Match(oClearedBodyText) Dim oMatch2 As Match = oReg2.Match(oClearedBodyText)
Do While oMatch2.Success Do While oMatch2.Success
@ -612,26 +613,26 @@ Public Class clsWorkEmail
Dim oSplit = CURRENT_MAIL_BODY_ALL.Split(Environment.NewLine) Dim oSplit = CURRENT_MAIL_BODY_ALL.Split(Environment.NewLine)
Dim oCount As Integer = 0 Dim oCount As Integer = 0
Dim oReadLength As Integer = 0 Dim oReadLength As Integer = 0
For Each ostr As String In oSplit For Each oString As String In oSplit
ostr = ostr.Replace(vbCrLf, "") oString = oString.Replace(vbCrLf, "")
If ostr = String.Empty Then If oString = String.Empty Then
Continue For Continue For
End If End If
oCount += 1 oCount += 1
If oCount = 1 Then If oCount = 1 Then
CURRENT_MAIL_BODY_ANSWER1 = ostr CURRENT_MAIL_BODY_ANSWER1 = oString
Else Else
If ostr.StartsWith("##") Then If oString.StartsWith("##") Then
Exit For Exit For
ElseIf oCount = 2 Then ElseIf oCount = 2 Then
CURRENT_MAIL_BODY_Substr2 = ostr CURRENT_MAIL_BODY_Substr2 = oString
Else Else
If ((oReadLength + ostr.Length) >= WM_IDX_BODY_SUBSTR_LENGTH) Or ostr.StartsWith("##") Then If ((oReadLength + oString.Length) >= WM_IDX_BODY_SUBSTR_LENGTH) Or oString.StartsWith("##") Then
Exit For Exit For
End If End If
CURRENT_MAIL_BODY_Substr2 = CURRENT_MAIL_BODY_Substr2 & vbNewLine & ostr CURRENT_MAIL_BODY_Substr2 = CURRENT_MAIL_BODY_Substr2 & vbNewLine & oString
End If End If
oReadLength += ostr.Length oReadLength += oString.Length
End If End If
Next Next