fix autoindexing not replacing new placeholders, fix skipping, fix damaged datatable, correct default value of nameconvention

This commit is contained in:
Jonathan Jenne
2020-04-01 13:49:55 +02:00
parent 825cc03f66
commit 92757c55d4
3 changed files with 307 additions and 445 deletions

View File

@@ -28,6 +28,8 @@ Public Class frmIndex
Private NewFileString As String
Private CancelAttempts As Integer = 0
Private Const MaxCancelAttempts = 2
Private Property ViewerString As String
#End Region
@@ -234,7 +236,7 @@ Public Class frmIndex
End Try
End Function
Function GetAutomaticIndexSQLValue(vsqlstatement As String, vconnectionID As Integer, vProvider As String) As String
Function GetAutomaticIndexSQLValue(SQLCommand As String, vconnectionID As Integer, vProvider As String) As String
Try
Dim oConnectionString As String
oConnectionString = ClassFormFunctions.GetConnectionString(vconnectionID)
@@ -243,9 +245,9 @@ Public Class frmIndex
Dim oErgebnis
'Welcher Provider?
If vProvider.ToLower = "oracle" Then
oErgebnis = ClassDatabase.OracleExecute_Scalar(vsqlstatement, oConnectionString)
oErgebnis = ClassDatabase.OracleExecute_Scalar(SQLCommand, oConnectionString)
Else 'im Moment nur SQL-Server
oErgebnis = ClassDatabase.Execute_Scalar(vsqlstatement, oConnectionString)
oErgebnis = ClassDatabase.Execute_Scalar(SQLCommand, oConnectionString)
End If
If LogErrorsOnly = False Then
@@ -768,8 +770,6 @@ Public Class frmIndex
Return False
End If
End If
Catch ex As Exception
LOGGER.Info("Unvorhergesehener Unexpected error in Write_Indizes - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
@@ -1356,88 +1356,97 @@ Public Class frmIndex
'TODO: Load License from DB
DocumentViewer1.Init(LOGCONFIG, VIEWER_LICENSE)
CURRENT_DROPTYPE = DropType.Replace("|", "")
If DropType = "|DROPFROMFSYSTEM|" Then
checkItemDeleteSource.Enabled = True
checkItemDeleteSource.Checked = CURR_DELETE_ORIGIN
'chkdelete_origin.Visible = True
'chkdelete_origin.Checked = CURR_DELETE_ORIGIN
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of dropped file"
Else
Me.Text = "Indexierung der gedroppten Datei"
End If
ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
Select Case DropType
Case "|FW_MSGONLY|"
LOGGER.Info(" >> .msg-file from folderwatch")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments) - from Folderwatch"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang) - aus Folderwatch"
End If
Case "|OUTLOOK_MESSAGE|"
LOGGER.Info(" >> .msg-file through dragdrop")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments)"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
End If
End Select
ElseIf DropType = "|MSGONLY|" Then
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
Else
Me.Text = "Indexing of msg-File (without Attachments)"
End If
ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
CURRENT_ISATTACHMENT = True
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung eines Email-Attachments"
Else
Me.Text = "Indexing of email-Attachment"
End If
ElseIf DropType = "|FW_SIMPLEINDEXER|" Then
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung einer Folderwatch-Datei"
Else
Me.Text = "Indexing of Folderwatch-File"
End If
End If
BarCheckItem1.Checked = TopMost
labelFilePath.Caption = CURRENT_WORKFILE
ClassWindowLocation.LoadFormLocationSize(Me)
SetFilePreview(CONFIG.Config.FilePreview)
SplitContainer1.SplitterDistance = CONFIG.Config.SplitterDistanceViewer
Load_String()
MULTIFILES = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", MyConnectionString, True)
MULTIINDEXING_ACTIVE = False
If MULTIFILES > 0 Then
If USER_LANGUAGE = "de-DE" Then
checkMultiindex.Text = "Multi-Indexing - Alle nachfolgenden Dateien (" & MULTIFILES & ") identisch indexieren"
Else
checkMultiindex.Text = "Multi-Indexing - All following files (" & MULTIFILES & ") will be indexed identically"
End If
checkMultiindex.Checked = False
checkMultiindex.Visible = True
BarButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
If DropType Is Nothing Then
LOGGER.Warn("File with Id [{0}] was not found in TBGI_FILES_USER. Exiting.")
CancelAttempts = MaxCancelAttempts
Close()
Else
checkMultiindex.Visible = False
CURRENT_DROPTYPE = DropType.Replace("|", "")
BarButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
If DropType = "|DROPFROMFSYSTEM|" Then
checkItemDeleteSource.Enabled = True
checkItemDeleteSource.Checked = CURR_DELETE_ORIGIN
'chkdelete_origin.Visible = True
'chkdelete_origin.Checked = CURR_DELETE_ORIGIN
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of dropped file"
Else
Me.Text = "Indexierung der gedroppten Datei"
End If
ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Then
Select Case DropType
Case "|FW_MSGONLY|"
LOGGER.Info(" >> .msg-file from folderwatch")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments) - from Folderwatch"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang) - aus Folderwatch"
End If
Case "|OUTLOOK_MESSAGE|"
LOGGER.Info(" >> .msg-file through dragdrop")
If USER_LANGUAGE <> "de-DE" Then
Me.Text = "Indexing of msg-File (without Attachments)"
Else
Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
End If
End Select
ElseIf DropType = "|MSGONLY|" Then
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung der msg-Datei (ohne Anhang)"
Else
Me.Text = "Indexing of msg-File (without Attachments)"
End If
ElseIf DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
CURRENT_ISATTACHMENT = True
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung eines Email-Attachments"
Else
Me.Text = "Indexing of email-Attachment"
End If
ElseIf DropType = "|FW_SIMPLEINDEXER|" Then
If USER_LANGUAGE = "de-DE" Then
Me.Text = "Indexierung einer Folderwatch-Datei"
Else
Me.Text = "Indexing of Folderwatch-File"
End If
End If
BarCheckItem1.Checked = TopMost
labelFilePath.Caption = CURRENT_WORKFILE
ClassWindowLocation.LoadFormLocationSize(Me)
SetFilePreview(CONFIG.Config.FilePreview)
SplitContainer1.SplitterDistance = CONFIG.Config.SplitterDistanceViewer
Load_String()
MULTIFILES = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", MyConnectionString, True)
MULTIINDEXING_ACTIVE = False
If MULTIFILES > 0 Then
If USER_LANGUAGE = "de-DE" Then
checkMultiindex.Text = "Multi-Indexing - Alle nachfolgenden Dateien (" & MULTIFILES & ") identisch indexieren"
Else
checkMultiindex.Text = "Multi-Indexing - All following files (" & MULTIFILES & ") will be indexed identically"
End If
checkMultiindex.Checked = False
checkMultiindex.Visible = True
BarButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
Else
checkMultiindex.Visible = False
BarButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
End If
Catch ex As Exception
LOGGER.Info(" - Unexpected error in Öffnen des Formulares - Fehler: " & vbNewLine & ex.Message)
LOGGER.Error(ex.Message)
@@ -1785,6 +1794,10 @@ Public Class frmIndex
LOGGER.Info(" oSqlResult afrer first Replace: " & oSqlResult)
End If
'TODO: Replace Windream Patterns?
oSqlResult = ClassPatterns.ReplaceControlValues(oSqlResult, pnlIndex)
oSqlResult = ClassPatterns.ReplaceInternalValues(oSqlResult)
' Ergebnis: Es wurden alle einfachen Platzhalter ersetzt, jetzt haben wir einen SQL Befehl,
' der nur noch vektorfelder-platzhalter enthält