This commit is contained in:
Developer01
2025-05-16 11:54:33 +02:00
4 changed files with 124 additions and 94 deletions

View File

@@ -11,6 +11,7 @@ Imports Limilabs.Mail
Imports DevExpress.XtraEditors
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Windream
'Imports DevExpress.DataAccess.Native.Json
'Imports GdPicture.Internal.MSOfficeBinary.translator.Spreadsheet.XlsFileFormat.Records
@@ -922,13 +923,13 @@ Public Class frmIndex
Next
End If
If DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or CURRENT_NEWFILENAME.ToUpper.EndsWith(".MSG") Or CURRENT_NEWFILENAME.ToUpper.EndsWith(".EML") Then
indexierung_erfolgreich = SetEmailIndicies(pIndexAttachment:=False)
indexierung_erfolgreich = SetEmailIndicies(False)
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical)
Return False
End If
ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
indexierung_erfolgreich = SetEmailIndicies(pIndexAttachment:=True)
indexierung_erfolgreich = SetEmailIndicies(True)
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical)
Return False
@@ -960,17 +961,18 @@ Public Class frmIndex
Dim oTable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
If IsNothing(oTable) Then
_Logger.Info("Could not get Email Indicies for DocType = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
_Logger.Info("Could not get Email Indicies for OBJECTTYPE = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
Return False
End If
If oTable.Rows.Count = 0 Then
LOGGER.Warn("Could not get Email Indicies for DocType = [{0}]. Exiting.")
LOGGER.Warn("Could not get Email Indicies for OBJECTTYPE = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
MsgBox($"Definition von Email Indizes für den Objekttyp [{oTable}] fehlt." + vbNewLine + "Bitte informieren Sie Ihren Systembetreuer.", MsgBoxStyle.Critical)
Return False
End If
If oTable.Rows.Count > 1 Then
LOGGER.Warn("Got multiple rows for Email Indicies for DocType = [{0}]. Exiting.")
LOGGER.Warn("Got multiple rows for Email Indicies for OBJECTTYPE = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
Return False
End If
@@ -1004,13 +1006,18 @@ Public Class frmIndex
CURRENT_MESSAGEID = oMessageId
CURRENT_MESSAGEDATE = oDateIn
CURRENT_MESSAGESUBJECT = oSubject
If oSubject IsNot Nothing Then
CURRENT_MESSAGESUBJECT = oSubject
Else
CURRENT_MESSAGESUBJECT = "<No Subject>"
End If
oIndexNames = New Dictionary(Of String, Object) From {
{"IDX_EMAIL_ID", oMessageId},
{"IDX_EMAIL_FROM", oMessageFrom},
{"IDX_EMAIL_TO", oMessageTo},
{"IDX_EMAIL_SUBJECT", oSubject},
{"IDX_EMAIL_SUBJECT", CURRENT_MESSAGESUBJECT},
{"IDX_EMAIL_DATE_IN", oDateIn}
}
Else
@@ -1841,57 +1848,69 @@ Public Class frmIndex
Private Sub ComboBoxEdit1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboboxDoctype.EditValueChanged
If ComboboxDoctype.EditValue IsNot Nothing And FormLoaded = True Then
Dim oSelectedItem As DocType = ComboboxDoctype.EditValue
CURRENT_DOKART_ID = oSelectedItem.Guid
CURRENT_LASTDOKART = oSelectedItem.Name
WINDREAM = New Windream(LOGCONFIG, False, WMDrive, WINDREAM_BASEPATH, True, "", "", "", "")
If Not IsNothing(WINDREAM) Then
If WINDREAM.SessionLoggedin Then
'lblhinweis.Visible = False
ClearNotice()
Dim oSelectedItem As DocType = ComboboxDoctype.EditValue
'lblerror.Visible = False
ClearError()
CURRENT_DOKART_ID = oSelectedItem.Guid
CURRENT_LASTDOKART = oSelectedItem.Name
pnlIndex.Controls.Clear()
Dim sql As String = "Select WINDREAM_DIRECT, ZIEL_PFAD, DUPLICATE_HANDLING from TBDD_DOKUMENTART WHERE GUID = " & oSelectedItem.Guid
Dim oDoctypes As DataTable = DATABASE_ECM.GetDatatable(sql)
'lblhinweis.Visible = False
ClearNotice()
Dim oDocType As DataRow = oDoctypes.Rows.Item(0)
WMDirect = oDocType.Item("WINDREAM_DIRECT")
Dim oDestination As String = oDocType.Item("ZIEL_PFAD")
Dim oNewDestination As String
If WMDirect Then
Dim oNormalized As String = WINDREAM.GetNormalizedPath(oDestination, False)
oNewDestination = Path.Combine(WINDREAM.ClientBasePath, oNormalized)
Else
oNewDestination = oDestination
End If
'lblerror.Visible = False
ClearError()
pnlIndex.Controls.Clear()
Dim sql As String = "Select WINDREAM_DIRECT, ZIEL_PFAD, DUPLICATE_HANDLING from TBDD_DOKUMENTART WHERE GUID = " & oSelectedItem.Guid
Dim oDoctypes As DataTable = DATABASE_ECM.GetDatatable(sql)
Dim oDocType As DataRow = oDoctypes.Rows.Item(0)
WMDirect = oDocType.Item("WINDREAM_DIRECT")
Dim oDestination As String = oDocType.Item("ZIEL_PFAD")
Dim oNewDestination As String
If WMDirect Then
Dim oNormalized As String = WINDREAM.GetNormalizedPath(oDestination, False)
oNewDestination = Path.Combine(WINDREAM.ClientBasePath, oNormalized)
Else
oNewDestination = oDestination
End If
LOGGER.Debug("Path from Database is [{0}]", oDestination)
LOGGER.Debug("Checking for path [{0}]", oNewDestination)
Dim oPathExists As Boolean
If WMDirect Then
oPathExists = WINDREAM.TestFolderExists(oNewDestination)
Else
oPathExists = Directory.Exists(oNewDestination)
End If
LOGGER.Debug("Path from Database is [{0}]", oDestination)
LOGGER.Debug("Checking for path [{0}]", oNewDestination)
Dim oPathExists As Boolean
If WMDirect Then
oPathExists = WINDREAM.TestFolderExists(oNewDestination)
Else
oPathExists = Directory.Exists(oNewDestination)
End If
If oPathExists = False Then
Dim oMessage As String
If oPathExists = False Then
Dim oMessage As String
If USER_LANGUAGE = "de-DE" Then
oMessage = $"Der Pfad für das ausgewählte Profil ist nicht erreichbar:{vbNewLine}[{oNewDestination}].{vbNewLine}{vbNewLine}Bitte wählen Sie ein anderes Profil."
Else
oMessage = $"Profile Path is not available:{vbNewLine}[{oNewDestination}].{vbNewLine}{vbNewLine}Please select another profile."
End If
MsgBox(oMessage, MsgBoxStyle.Information, Text)
ComboboxDoctype.EditValue = Nothing
Else
CURRENT_DOKART_DUPLICATE_HANDLING = oDocType.Item("DUPLICATE_HANDLING")
Refresh_IndexeMan(oSelectedItem.Guid)
End If
If USER_LANGUAGE = "de-DE" Then
oMessage = $"Der Pfad für das ausgewählte Profil ist nicht erreichbar:{vbNewLine}[{oNewDestination}].{vbNewLine}{vbNewLine}Bitte wählen Sie ein anderes Profil."
Else
oMessage = $"Profile Path is not available:{vbNewLine}[{oNewDestination}].{vbNewLine}{vbNewLine}Please select another profile."
MsgBox("Es konnte keine Session aufgebaut werden.")
End If
MsgBox(oMessage, MsgBoxStyle.Information, Text)
ComboboxDoctype.EditValue = Nothing
Else
CURRENT_DOKART_DUPLICATE_HANDLING = oDocType.Item("DUPLICATE_HANDLING")
Refresh_IndexeMan(oSelectedItem.Guid)
MsgBox("Es konnte keine Windream-Verbindung aufgebaut werden.")
End If
End If
End Sub