diff --git a/Global_Indexer/ClassControls.vb b/Global_Indexer/ClassControls.vb
index 323a5ae..c964d97 100644
--- a/Global_Indexer/ClassControls.vb
+++ b/Global_Indexer/ClassControls.vb
@@ -1,7 +1,7 @@
Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client
Imports DigitalData.Controls.LookupGrid
-
+Imports DigitalData.Modules.Language
Public Class ClassControls
Private Property Form As frmIndex
@@ -406,9 +406,9 @@ Public Class ClassControls
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows
- Dim oControlName As String = NotNull(oRow.Item("NAME"), "")
- Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1)
- Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "")
+ Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
+ Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
+ Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
diff --git a/Global_Indexer/ClassFileDrop.vb b/Global_Indexer/ClassFileDrop.vb
index ccf9cf3..f48dc73 100644
--- a/Global_Indexer/ClassFileDrop.vb
+++ b/Global_Indexer/ClassFileDrop.vb
@@ -4,34 +4,35 @@ Imports Microsoft.Office.Interop
Public Class ClassFileDrop
- Public Shared files_dropped As String()
+ 'Public Shared Property FilesDropped As String()
+
+ Public Shared Property FilesDropped As New List(Of String)
' Tobit David Drag Drop: https://www.david-forum.de/thread/12671-drag-and-drop-von-faxen-und-mails-in-net-anwendung/
'Private Declare Function DVEmlFromMailItem Lib "DvApi32" (ByVal oMailItem As MailItem, ByVal strFileName As String) As Long
Public Shared Function Drop_File(e As DragEventArgs)
Try
- LOGGER.Debug("Available Drop Formats:")
-
- For Each oFormat As String In e.Data.GetFormats()
- LOGGER.Debug(oFormat)
- Next
-
LOGGER.Info("Drop_File")
- files_dropped = Nothing
+
+ FilesDropped.Clear()
+
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim MyFiles() As String
- Dim i As Integer
+ Dim oFilesFromEvent() As String
+ Dim oIndex As Integer
' Assign the files to an array.
- MyFiles = e.Data.GetData(DataFormats.FileDrop)
+ oFilesFromEvent = e.Data.GetData(DataFormats.FileDrop)
' Loop through the array and add the files to the list.
- For i = 0 To MyFiles.Length - 1
- LOGGER.Info("Simple FileDrop - File: " & MyFiles(i))
- ReDim Preserve files_dropped(i)
- files_dropped(i) = "|DROPFROMFSYSTEM|" & MyFiles(i)
+ For oIndex = 0 To oFilesFromEvent.Length - 1
+ LOGGER.Info("Simple FileDrop - File: " & oFilesFromEvent(oIndex))
+ FilesDropped.Add("|DROPFROMFSYSTEM|" & oFilesFromEvent(oIndex))
+
+ 'ReDim Preserve FilesDropped(oIndex)
+ 'FilesDropped(oIndex) = "|DROPFROMFSYSTEM|" & oFilesFromEvent(oIndex)
' ListBox1.Items.Add(MyFiles(i))
Next
Return True
+
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
'// the first step here is to get the stbFileName
'// of the attachment and
@@ -40,9 +41,9 @@ Public Class ClassFileDrop
'//
'// set up to obtain the aryFileGroupDescriptor
'// and extract the file name
- Dim stmInput As IO.Stream = CType(e.Data.GetData("FileGroupDescriptor"), IO.Stream)
+ Dim oStream As IO.Stream = CType(e.Data.GetData("FileGroupDescriptor"), IO.Stream)
Dim aryFileGroupDescriptor(512) As Byte ' = new byte[512]
- stmInput.Read(aryFileGroupDescriptor, 0, 512)
+ oStream.Read(aryFileGroupDescriptor, 0, 512)
'// used to build the stbFileName from the aryFileGroupDescriptor block
Dim stbFileName As System.Text.StringBuilder = New System.Text.StringBuilder("")
'// this trick gets the stbFileName of the passed attached file
@@ -51,13 +52,11 @@ Public Class ClassFileDrop
stbFileName.Append(Convert.ToChar(aryFileGroupDescriptor(intCnt), System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")))
intCnt += 1
Loop
- stmInput.Close()
+ oStream.Close()
'Sonderzeichen entfernen
- Dim Tempfilename = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(stbFileName.ToString)
- Dim anhaenge = e.Data.GetDataPresent("FileContents")
- 'Dim path As String = "C:\VBProjekte\Dateien"
- '// put the zip file into the temp directory
- Dim strOutFile As String = Path.GetTempPath() & Tempfilename
+ Dim oTempFileName = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(stbFileName.ToString)
+ Dim oAttachments = e.Data.GetDataPresent("FileContents")
+ Dim strOutFile As String = Path.Combine(Path.GetTempPath(), oTempFileName)
'// create the full-path name
'//
'// Second step: we have the file name.
@@ -65,13 +64,13 @@ Public Class ClassFileDrop
'// data for the attached file and copy it to disk so we work on it.
'//
'// get the actual raw file into memory
- Dim msInput As IO.MemoryStream = CType(e.Data.GetData("FileContents", True), IO.MemoryStream) 'This returns nothing for an Email
- If msInput Is Nothing = False Then
+ Dim oMemoryStreamInput As IO.MemoryStream = CType(e.Data.GetData("FileContents", True), IO.MemoryStream) 'This returns nothing for an Email
+ If oMemoryStreamInput Is Nothing = False Then
'// allocate enough bytes to hold the raw date
- Dim aryFileBytes(CType(msInput.Length, Int32)) As Byte
+ Dim aryFileBytes(CType(oMemoryStreamInput.Length, Int32)) As Byte
'// set starting position at first byte and read in the raw data
- msInput.Position = 0
- msInput.Read(aryFileBytes, 0, CType(msInput.Length, Int32))
+ oMemoryStreamInput.Position = 0
+ oMemoryStreamInput.Read(aryFileBytes, 0, CType(oMemoryStreamInput.Length, Int32))
'// create a file and save the raw zip file to it
Dim fsOutput As IO.FileStream = New IO.FileStream(strOutFile, IO.FileMode.Create) ';
fsOutput.Write(aryFileBytes, 0, aryFileBytes.Length)
@@ -83,9 +82,12 @@ Public Class ClassFileDrop
Dim finTemp As IO.FileInfo = New IO.FileInfo(strOutFile)
'// always good to make sure we actually created the file
If (finTemp.Exists = True) Then
- ReDim Preserve files_dropped(0)
- files_dropped(0) = "|OUTLOOK_ATTACHMENT|" & strOutFile
LOGGER.Info("Drop an Attachment - File: " & strOutFile)
+ FilesDropped.Add("|OUTLOOK_ATTACHMENT|" & strOutFile)
+
+ 'ReDim Preserve FilesDropped(0)
+ 'FilesDropped(0) = "|OUTLOOK_ATTACHMENT|" & strOutFile
+
Return True
Else
LOGGER.Info("Attachment File from Outlook could not be created")
@@ -111,12 +113,6 @@ Public Class ClassFileDrop
If subj = "" Then
subj = "NO_SUBJECT"
End If
- If subj.Contains("\") Then
- subj = subj.Replace("\", "-")
- End If
- If subj.Contains("/") Then
- subj = subj.Replace("/", "-")
- End If
'Sonderzeichen entfernen
subj = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(subj)
@@ -138,8 +134,10 @@ Public Class ClassFileDrop
"Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer")
End Try
- ReDim Preserve files_dropped(i)
- files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
+ FilesDropped.Add("|OUTLOOK_MESSAGE|" & oFilename)
+
+ 'ReDim Preserve FilesDropped(i)
+ 'FilesDropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
Next
diff --git a/Global_Indexer/ClassFilehandle.vb b/Global_Indexer/ClassFilehandle.vb
index 06006ce..8945951 100644
--- a/Global_Indexer/ClassFilehandle.vb
+++ b/Global_Indexer/ClassFilehandle.vb
@@ -6,11 +6,25 @@ Imports DigitalData.Modules.Language
Imports Limilabs.Mail
Public Class ClassFilehandle
- Public Shared Function Decide_FileHandle(pFilename As String, pHandletype As String)
+ Public Shared Function Decide_FileHandle(pFilepath As String, pHandletype As String)
Try
- If pFilename.ToUpper.EndsWith(".MSG") Or pFilename.ToUpper.EndsWith(".EML") Then
+ 'TODO: Before doing anything, clean the filename
+ Dim oFilename = IO.Path.GetFileName(pFilepath)
+ Dim oCleanFileName = Utils.RemoveInvalidCharacters(oFilename)
+ Dim oTempDirectory = IO.Path.GetTempPath()
+ Dim oTempFilePath = IO.Path.Combine(oTempDirectory, oCleanFileName)
+
+ Try
+ TEMP_FILES.Add(oTempFilePath)
+ IO.File.Copy(pFilepath, oTempFilePath, True)
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ Throw ex
+ End Try
+
+ If oTempFilePath.ToUpper.EndsWith(".MSG") Or oTempFilePath.ToUpper.EndsWith(".EML") Then
CURRENT_MESSAGEID = ""
- Dim oMail As IMail = EMAIL.Load_Email(pFilename)
+ Dim oMail As IMail = EMAIL.Load_Email(oTempFilePath)
If oMail.Attachments.Count > 0 Then
Dim oTitle As String
Dim oMessage As String
@@ -28,14 +42,15 @@ Public Class ClassFilehandle
' https://stackoverflow.com/questions/1220882/keep-messagebox-show-on-top-of-other-application-using-c-sharp
oResult = MessageBox.Show(oMessage, oTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
+
If oResult = MsgBoxResult.Yes Then
Dim oIsFolderWatch = pHandletype.StartsWith("|FW")
- Return Save_EmailAndAttachmentsToDisk(pFilename, oIsFolderWatch)
+ Return Save_EmailAndAttachmentsToDisk(oTempFilePath, oIsFolderWatch)
End If
End If
End If
- If pFilename.ToUpper.EndsWith(".LNK") Then
+ If oTempFilePath.ToUpper.EndsWith(".LNK") Then
If USER_LANGUAGE = "de-DE" Then
MsgBox("Verknüpfungen können nicht abgelegt werden!", MsgBoxStyle.Critical, "Global Indexer")
Else
@@ -44,7 +59,7 @@ Public Class ClassFilehandle
Return False
End If
- Return Insert_GI_File(pFilename, pHandletype)
+ Return Insert_GI_File(oTempFilePath, pHandletype)
Catch ex As Exception
MsgBox("Unexpected Error in Decide_FileHandle: " & ex.Message, MsgBoxStyle.Critical)
Return False
diff --git a/Global_Indexer/ClassInit.vb b/Global_Indexer/ClassInit.vb
index d95c4cd..a939efd 100644
--- a/Global_Indexer/ClassInit.vb
+++ b/Global_Indexer/ClassInit.vb
@@ -79,7 +79,7 @@ Public Class ClassInit
Else
If IDB_ACTIVE = False Then
Try
- WINDREAM = New Windream(LOGCONFIG, False, WMDrive, "\\windream\objects", True, "", "", "", "")
+ WINDREAM = New Windream(LOGCONFIG, False, WMDrive, WINDREAM_BASEPATH, True, "", "", "", "")
If Not IsNothing(WINDREAM) Then
If WINDREAM.SessionLoggedin = True Then
LOGGER.Debug("windream initialisiert")
diff --git a/Global_Indexer/ClassPatterns.vb b/Global_Indexer/ClassPatterns.vb
index 877a986..956c35e 100644
--- a/Global_Indexer/ClassPatterns.vb
+++ b/Global_Indexer/ClassPatterns.vb
@@ -1,6 +1,7 @@
Imports System.Text.RegularExpressions
Imports DevExpress.XtraEditors
Imports DigitalData.Controls.LookupGrid
+Imports DigitalData.Modules.Language
Imports DigitalData.GUIs.GlobalIndexer
Imports WINDREAMLib
@@ -239,7 +240,7 @@ Public Class ClassPatterns
LOGGER.Warn("Lookup Control with [{0}] is not supported!", oFoundType)
End Select
Else
- oValue = NotNull(oLookupControl.Properties.SelectedValues.Item(0), "")
+ oValue = Utils.NotNull(oLookupControl.Properties.SelectedValues.Item(0), "")
End If
Catch ex As Exception
LOGGER.Error(ex)
diff --git a/Global_Indexer/Global_Indexer.vbproj b/Global_Indexer/Global_Indexer.vbproj
index 85378e5..f6a7415 100644
--- a/Global_Indexer/Global_Indexer.vbproj
+++ b/Global_Indexer/Global_Indexer.vbproj
@@ -385,7 +385,6 @@
Form
-
diff --git a/Global_Indexer/ModuleCURRENT.vb b/Global_Indexer/ModuleCURRENT.vb
index a3b420d..fc4c43a 100644
--- a/Global_Indexer/ModuleCURRENT.vb
+++ b/Global_Indexer/ModuleCURRENT.vb
@@ -4,90 +4,83 @@ Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Messaging
Module ModuleCURRENT
- Public ERROR_STATE As String
- Public START_INCOMPLETE As Boolean = False
- Public CURRENT_FILENAME As String
- Public CURRENT_NEWFILENAME As String
- Public CURRENT_WORKFILE_GUID As Integer
- Public CURRENT_WORKFILE_HASH As String
- Public CURRENT_WORKFILE As String
- Public CURR_WORKFILE_EXTENSION As String
+ Public Property TEMP_FILES As List(Of String) = New List(Of String)
- Public CONFIG As ConfigManager(Of ClassConfig)
- Public LOGCONFIG As LogConfig
- Public LOGGER As Logger
- Public FILESYSTEM As File
- Public EMAIL As Email2
+ Public Property ERROR_STATE As String
+ Public Property START_INCOMPLETE As Boolean = False
+ Public Property CURRENT_FILENAME As String
+ Public Property CURRENT_NEWFILENAME As String
+ Public Property CURRENT_WORKFILE_GUID As Integer
+ Public Property CURRENT_WORKFILE_HASH As String
+ Public Property CURRENT_WORKFILE As String
+ Public Property CURR_WORKFILE_EXTENSION As String
- Public CURRENT_DOKART_ID As Integer
- Public CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default"
- Public CURRENT_LASTDOKART As String = ""
- Public CURRENT_INDEXMAN As Integer
- Public CURRENT_INDEXAUTO As Integer
- Public CURRENT_SQL_CONFIG As String
+ Public Property CONFIG As ConfigManager(Of ClassConfig)
+ Public Property LOGCONFIG As LogConfig
+ Public Property LOGGER As Logger
+ Public Property FILESYSTEM As File
+ Public Property EMAIL As Email2
- Public VERSION_DELIMITER As String
- Public FILE_DELIMITER As String
- Public CURRENT_MESSAGEID As String
- Public CURRENT_MESSAGEDATE As String
- Public CURRENT_MESSAGESUBJECT As String
- Public CURRENT_ISATTACHMENT As Boolean = False
+ Public Property CURRENT_DOKART_ID As Integer
+ Public Property CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default"
+ Public Property CURRENT_LASTDOKART As String = ""
+ Public Property CURRENT_INDEXMAN As Integer
+ Public Property CURRENT_INDEXAUTO As Integer
- Public USER_ID
- Public USER_IN_MODULE As Boolean = False
- Public USER_IS_ADMIN As Boolean = False
+ Public Property VERSION_DELIMITER As String
+ Public Property FILE_DELIMITER As String
+ Public Property CURRENT_MESSAGEID As String
+ Public Property CURRENT_MESSAGEDATE As String
+ Public Property CURRENT_MESSAGESUBJECT As String
+ Public Property CURRENT_ISATTACHMENT As Boolean = False
- Public USER_SHORTNAME As String = ""
- Public USER_PRENAME As String = ""
- Public USER_SURNAME As String = ""
- Public USER_EMAIL As String = ""
- Public USER_LANGUAGE As String = "DE"
- Public USER_USERNAME As String = ""
- Public USERCOUNT_LOGGED_IN As Integer = 0
+ Public Property USER_ID
+ Public Property USER_IN_MODULE As Boolean = False
+ Public Property USER_IS_ADMIN As Boolean = False
- Public CURRENT_FOLDERWATCH As String = ""
- Public CURRENT_SCAN_FOLDERWATCH As String = ""
+ Public Property USER_SHORTNAME As String = ""
+ Public Property USER_PRENAME As String = ""
+ Public Property USER_SURNAME As String = ""
+ Public Property USER_EMAIL As String = ""
+ Public Property USER_LANGUAGE As String = "DE"
+ Public Property USER_USERNAME As String = ""
+ Public Property USERCOUNT_LOGGED_IN As Integer = 0
- Public FWFunction_STARTED As Boolean = False
+ Public Property CURRENT_FOLDERWATCH As String = ""
+ Public Property CURRENT_SCAN_FOLDERWATCH As String = ""
- Public CURR_DOKART_WD_DIRECT As Boolean = False
- Public CURR_DOKART_OBJECTTYPE As String
- Public CURRENT_WD_TEMPSEARCH As String = ""
+ Public Property FWFunction_STARTED As Boolean = False
- Public LICENSE_EXPIRED As Boolean = False
- Public LICENSE_COUNT As Integer = 0
- Public LICENSE_DOCTYPE_COUNT As Integer = 0
- Public DOCTYPE_COUNT_ACTUAL As Integer = 0
- Public LicenseHotKey As Integer = 0
+ Public Property CURR_DOKART_WD_DIRECT As Boolean = False
+ Public Property CURR_DOKART_OBJECTTYPE As String
- Public CURRENT_HTML_DOC As String
+ Public Property LICENSE_EXPIRED As Boolean = False
+ Public Property LICENSE_COUNT As Integer = 0
+ Public Property LICENSE_DOCTYPE_COUNT As Integer = 0
+ Public Property DOCTYPE_COUNT_ACTUAL As Integer = 0
+ Public Property LicenseHotKey As Integer = 0
- Public INDEXING_ACTIVE As Boolean = False
- Public MULTIINDEXING_ACTIVE As Boolean = False
- Public ABORT_INDEXING As Boolean = False
+ Public Property INDEXING_ACTIVE As Boolean = False
+ Public Property MULTIINDEXING_ACTIVE As Boolean = False
+ Public Property ABORT_INDEXING As Boolean = False
- Public DTACTUAL_FILES As DataTable
- Public DTEXCLUDE_FILES As DataTable
- Public DTTBGI_REGEX_DOCTYPE As DataTable
+ Public Property DTACTUAL_FILES As DataTable
+ Public Property DTEXCLUDE_FILES As DataTable
+ Public Property DTTBGI_REGEX_DOCTYPE As DataTable
- Public CURRENT_SQLRESULT As String
- Public DTSQL_RESULT As DataTable
- Public TEMP_FILES As List(Of String) = New List(Of String)
+ Public Property CURRENT_SQLRESULT As String
+ Public Property DTSQL_RESULT As DataTable
- Public CURRENT_FOCUSES_WINDOWNAME As String
+ Public Property LANGUAGE_CHANGED As Boolean = False
+ Public Property CURR_MISSING_PATTERN_NAME As String
+ Public Property CURR_MISSING_SEARCH_STRING As String
+ Public Property CURR_MISSING_MANUAL_VALUE As String
+ Public Property CURR_DELETE_ORIGIN As Boolean = False
+ Public Property CURRENT_DT_REGEX As DataTable
+ Public Property REGEX_CLEAN_FILENAME As String = "[?*^""<>|]"
+ Public Property CURRENT_DROPTYPE
- Public LANGUAGE_CHANGED As Boolean = False
- Public CURR_MISSING_PATTERN_NAME As String
- Public CURR_MISSING_SEARCH_STRING As String
- Public CURR_MISSING_MANUAL_VALUE As String
- Public CURR_DELETE_ORIGIN As Boolean = False
- Public CURRENT_DT_REGEX As DataTable
- Public REGEX_CLEAN_FILENAME As String = "[?*^""<>|]"
- Public CURRENT_DROPTYPE
-
- Public VIEWER_LICENSE As String = ""
-
- Public INDEX_FORM_LOADED As Boolean
+ Public Property VIEWER_LICENSE As String = ""
End Module
diff --git a/Global_Indexer/ModuleHelpers.vb b/Global_Indexer/ModuleHelpers.vb
deleted file mode 100644
index 269f795..0000000
--- a/Global_Indexer/ModuleHelpers.vb
+++ /dev/null
@@ -1,15 +0,0 @@
-Module ModuleHelpers
- '''
- ''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist.
- '''
- ''' Der zu überprüfende Wert
- ''' Der Standard Wert
- ''' value oder wenn dieser "Null" ist, defaultValue
- Public Function NotNull(Of T)(ByVal value As T, ByVal defaultValue As T) As T
- If IsNothing(value) OrElse String.IsNullOrEmpty(value.ToString) OrElse IsDBNull(value) Then
- Return defaultValue
- Else
- Return value
- End If
- End Function
-End Module
diff --git a/Global_Indexer/ModuleRuntime.vb b/Global_Indexer/ModuleRuntime.vb
index e6628d2..67ae00b 100644
--- a/Global_Indexer/ModuleRuntime.vb
+++ b/Global_Indexer/ModuleRuntime.vb
@@ -5,6 +5,7 @@ Module ModuleRuntime
'Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
Public Const USER_CONFIG_FILE = "UserConfig.xml"
Public Const COMPUTER_CONFIG_FILE = "ComputerConfig.xml"
+ Public Const WINDREAM_BASEPATH = "\\windream\objects"
Public MyConnectionString As String = ""
Public LogErrorsOnly As Boolean = True
@@ -23,5 +24,5 @@ Module ModuleRuntime
Public IDB_DOC_ID As Int64
Public IDB_LOG_INDEX As String
- Public WINDREAM As Windream
+ Public Property WINDREAM As Windream
End Module
diff --git a/Global_Indexer/frmIndex.vb b/Global_Indexer/frmIndex.vb
index e2a3879..56377f3 100644
--- a/Global_Indexer/frmIndex.vb
+++ b/Global_Indexer/frmIndex.vb
@@ -5,6 +5,7 @@ Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.DirectoryServices
Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Language
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.GlobalIndexer
Imports DevExpress.XtraEditors.Controls
@@ -538,7 +539,7 @@ Public Class frmIndex
CURR_WORKFILE_EXTENSION = extension
oRAWZielordner = WINDREAM.GetNormalizedPath(DT.Rows(0).Item("ZIEL_PFAD"))
- oRAWZielordner = Path.Combine("\\windream\objects", oRAWZielordner)
+ oRAWZielordner = Path.Combine(WINDREAM_BASEPATH, oRAWZielordner)
'####
' Regulären Ausdruck zum Auslesen der Indexe definieren
@@ -835,7 +836,7 @@ Public Class frmIndex
End If
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
+ 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)
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical)
@@ -894,7 +895,7 @@ Public Class frmIndex
' If file is an attachment, rely on the previously extracted value
If pIndexAttachment = False Then
- Dim oMsgFilePath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
+ Dim oMsgFilePath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
Dim oMail As IMail = EMAIL.Load_Email(oMsgFilePath)
Dim oMessageId As String = oMail.MessageID
@@ -965,7 +966,7 @@ Public Class frmIndex
' Dim _step As String = "1"
' Try
- ' Dim oTempPath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
+ ' Dim oTempPath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
' Dim msg As Msg.Message = New Msg.Message(oTempPath)
' Dim msgDisplayTo = msg.DisplayTo
' Dim msgInternetAccountName = msg.InternetAccountName
@@ -1349,7 +1350,7 @@ Public Class frmIndex
End If
Dim oStreamSuccessful = WINDREAM.NewFileStream(CURRENT_WORKFILE, CURRENT_NEWFILENAME)
- Dim oTempPath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
+ Dim oTempPath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
_Logger.Debug("Checks for file [{0}]", oTempPath)
_Logger.Debug("File streamed to Windream: {0}", oStreamSuccessful)
@@ -1835,7 +1836,7 @@ Public Class frmIndex
Dim AddNewItems As Boolean = oRow.Item("VKT_ADD_ITEM")
Dim PreventDuplicates As Boolean = oRow.Item("VKT_PREVENT_MULTIPLE_VALUES")
Dim oControlName As String = oRow.Item("NAME")
- Dim oConnectionId = NotNull(oRow.Item("CONNECTION_ID"), 0)
+ Dim oConnectionId = Utils.NotNull(oRow.Item("CONNECTION_ID"), 0)
Dim oSQLSuggestion = oRow.Item("SUGGESTION")
Dim oSQLResult = oRow.Item("SQL_RESULT")
@@ -1961,9 +1962,9 @@ Public Class frmIndex
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows
- Dim oControlName As String = NotNull(oRow.Item("NAME"), "")
- Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1)
- Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "")
+ Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
+ Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
+ Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
@@ -2716,74 +2717,83 @@ Public Class frmIndex
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnOK.Click
- ClearError()
- ClearNotice()
+ Try
+ ClearError()
+ ClearNotice()
- Me.Cursor = Cursors.WaitCursor
- ClassHelper.Refresh_RegexTable()
- For Each rowregex As DataRow In CURRENT_DT_REGEX.Rows
- If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then
- REGEX_CLEAN_FILENAME = rowregex.Item("REGEX")
- End If
- Next
- If checkMultiindex.Visible = True And checkMultiindex.Checked = True Then
- 'Die erste Datei indexieren
- If WORK_FILE() = True Then
- 'Und nun die folgenden
- Dim DTFiles2Work As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
- If Not DTFiles2Work Is Nothing Then
- Dim err = False
- For Each filerow As DataRow In DTFiles2Work.Rows
- CURRENT_WORKFILE_GUID = filerow.Item("GUID")
- CURRENT_WORKFILE = filerow.Item("FILENAME2WORK")
- CURRENT_WORKFILE_HASH = NotNull(filerow.Item("FILE_HASH"), "")
- DropType = filerow.Item("HANDLE_TYPE")
+ Me.Cursor = Cursors.WaitCursor
+ ClassHelper.Refresh_RegexTable()
+ For Each rowregex As DataRow In CURRENT_DT_REGEX.Rows
+ If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then
+ REGEX_CLEAN_FILENAME = rowregex.Item("REGEX")
+ End If
+ Next
+ If checkMultiindex.Visible = True And checkMultiindex.Checked = True Then
+ 'Die erste Datei indexieren
+ If WORK_FILE() = True Then
+ 'Und nun die folgenden
+ Dim DTFiles2Work As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
+ If Not DTFiles2Work Is Nothing Then
+ Dim err = False
+ For Each filerow As DataRow In DTFiles2Work.Rows
+ CURRENT_WORKFILE_GUID = filerow.Item("GUID")
+ CURRENT_WORKFILE = filerow.Item("FILENAME2WORK")
+ CURRENT_WORKFILE_HASH = Utils.NotNull(filerow.Item("FILE_HASH"), "")
+ DropType = filerow.Item("HANDLE_TYPE")
- If WORK_FILE() = False Then
- err = True
- Exit For
+ If WORK_FILE() = False Then
+ err = True
+ Exit For
+ End If
+ Next
+ Me.Cursor = Cursors.Default
+ If err = False Then
+ If USER_LANGUAGE = LANG_DE Then
+ MsgBox("Alle Dateien wurden mit Multiindexing erfolgreich verarbeitet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
+ Else
+ MsgBox("All files were successfully processed through Multiindexing", MsgBoxStyle.Information, "Success")
+ End If
+
+ DocumentViewer1.CloseDocument()
+ DocumentViewer1.Done()
+
+ CancelAttempts = 2
+ Me.Close()
End If
- Next
+ End If
+ End If
+ Else
+ If WORK_FILE() = True Then
Me.Cursor = Cursors.Default
- If err = False Then
+ If CONFIG.Config.ShowIndexResult = True Then
If USER_LANGUAGE = LANG_DE Then
- MsgBox("Alle Dateien wurden mit Multiindexing erfolgreich verarbeitet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
+ MsgBox("Die Datei wurde erfolgreich verarbeitet!" & vbNewLine & "Ablagepfad:" & vbNewLine & CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Erfolgsmeldung")
Else
- MsgBox("All files were successfully processed through Multiindexing", MsgBoxStyle.Information, "Success")
+ MsgBox("File sucessfully processed!" & vbNewLine & "Path:" & vbNewLine & CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Success")
End If
-
- DocumentViewer1.CloseDocument()
- DocumentViewer1.Done()
-
- CancelAttempts = 2
- Me.Close()
End If
+
+ DocumentViewer1.CloseDocument()
+ DocumentViewer1.Done()
+
+ CancelAttempts = 2
+ Me.Close()
End If
End If
- Else
- If WORK_FILE() = True Then
- Me.Cursor = Cursors.Default
- If CONFIG.Config.ShowIndexResult = True Then
- If USER_LANGUAGE = LANG_DE Then
- MsgBox("Die Datei wurde erfolgreich verarbeitet!" & vbNewLine & "Ablagepfad:" & vbNewLine & CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Erfolgsmeldung")
- Else
- MsgBox("File sucessfully processed!" & vbNewLine & "Path:" & vbNewLine & CURRENT_NEWFILENAME, MsgBoxStyle.Information, "Success")
- End If
- End If
- DocumentViewer1.CloseDocument()
- DocumentViewer1.Done()
+ ' Clear all temp files after indexing
+ Clear_Tempfiles()
+ EMAIL.Clear_TempFiles()
- CancelAttempts = 2
- Me.Close()
- End If
- End If
+ Catch ex As Exception
+ MsgBox("Uncaught error while indexing: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
- ' Clear all temp files after indexing
- Clear_Tempfiles()
- EMAIL.Clear_TempFiles()
-
- Me.Cursor = Cursors.Default
+ ' Clear all temp files after indexing
+ Clear_Tempfiles()
+ EMAIL.Clear_TempFiles()
+ Finally
+ Me.Cursor = Cursors.Default
+ End Try
End Sub
Private Sub Clear_Tempfiles()
diff --git a/Global_Indexer/frmStart.vb b/Global_Indexer/frmStart.vb
index 7197e34..19218c9 100644
--- a/Global_Indexer/frmStart.vb
+++ b/Global_Indexer/frmStart.vb
@@ -5,6 +5,7 @@ Imports System.Text
Imports System.Globalization
Imports System.Threading
Imports System.Runtime.InteropServices
+Imports DigitalData.Modules.Language
Public Class frmStart
Public _lizenzManager As ClassLicenseManager
@@ -160,7 +161,7 @@ Public Class frmStart
Try
ClassDatabase.Execute_non_Query($"DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')")
- For Each oFiledropString As String In ClassFileDrop.files_dropped
+ For Each oFiledropString As String In ClassFileDrop.FilesDropped
If oFiledropString IsNot Nothing Then
LOGGER.Info(">> Check Drop-File: " & oFiledropString.ToString)
Dim oLastPipe = oFiledropString.LastIndexOf("|")
@@ -211,11 +212,13 @@ Public Class frmStart
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_GUID = Filerow.Item(0)
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
- CURRENT_WORKFILE_HASH = NotNull(Filerow.Item("FILE_HASH"), "")
+ CURRENT_WORKFILE_HASH = Utils.NotNull(Filerow.Item("FILE_HASH"), "")
LOGGER.Info(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE)
If File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then
Open_IndexDialog()
+ Else
+ Throw New FileNotFoundException("Dropped file does not exist anymore!")
End If
' If multi-indexing is active, all files have been indexed by now, so we can leave the loop
@@ -254,17 +257,6 @@ Public Class frmStart
MsgBox("Unexpected Error in Closing Application: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
- EMAIL.Clear_TempFiles()
-
- 'TempDateien löschen
- For Each oFile In TEMP_FILES
- Try
- System.IO.File.Delete(oFile)
- Catch ex As Exception
- LOGGER.Error(ex)
- End Try
- Next
-
Try
IndexForm.DisposeViewer()
IndexForm.Dispose()
@@ -613,14 +605,13 @@ Public Class frmStart
}
If oOpenFileDialog.ShowDialog() = DialogResult.OK Then
- Dim i As Integer = 0
- ClassFileDrop.files_dropped = Nothing
+ ClassFileDrop.FilesDropped.Clear()
+
For Each oFileName In oOpenFileDialog.FileNames
- ReDim Preserve ClassFileDrop.files_dropped(i)
LOGGER.Info(">> Chosen File: " & oFileName)
- ClassFileDrop.files_dropped(i) = "|DROPFROMFSYSTEM|" & oFileName
- i += 1
+ ClassFileDrop.FilesDropped.Add("|DROPFROMFSYSTEM|" & oFileName)
Next
+
TimerCheckDroppedFiles.Start()
End If
Catch ex As Exception