Compare commits

15 Commits

Author SHA1 Message Date
Jonathan Jenne
60ff81b19d add changelog 2021-09-23 12:11:10 +02:00
Jonathan Jenne
fccc192879 general clean up in Class Init 2021-09-23 12:11:02 +02:00
Jonathan Jenne
e81f2f0878 Remove ClassLogger and replace with Logging Module 2021-09-23 12:10:47 +02:00
Jonathan Jenne
27294faa13 Remove class helper and replace with Language Module 2021-09-23 12:10:02 +02:00
Jonathan Jenne
d31ba427e2 Remove ClassFormFunctions, switch to Database Module for getting connection string from connection id 2021-09-23 12:08:53 +02:00
Jonathan Jenne
66039f22d8 add some constants for index types 2021-09-23 12:06:24 +02:00
Jonathan Jenne
59d6d26dce Switch License Module, Move SnapToDesktopBorder to Window Module 2021-09-23 11:23:01 +02:00
Jonathan Jenne
7e28e072df Remove ClassDatabase, Replace with Database.MSSQL Module 2021-09-22 16:33:24 +02:00
Jonathan Jenne
01e0a9dcf8 Version 2.5.0.0 2021-09-22 13:50:43 +02:00
Jonathan Jenne
a97c3b8f41 Fix profile changing when refreshing, fix crash when clicking on "new x" twice in a row 2021-09-22 13:50:08 +02:00
Jonathan Jenne
9c0c31e141 Clean filename for temp files, centralize windream basepath 2021-09-21 16:36:34 +02:00
Jonathan Jenne
ab2a0134f7 Version 2.4.2.8 2021-08-23 15:23:19 +02:00
Jonathan Jenne
3fa9e8b75e fix jumbled up indexnames in WriteIndex2File 2021-08-23 15:21:47 +02:00
Jonathan Jenne
cff6c289bb Version 2.4.2.7 2021-08-23 15:06:52 +02:00
Jonathan Jenne
7a60728a27 support eml in write_indizes, fix indexing of attachments 2021-08-23 15:06:33 +02:00
39 changed files with 632 additions and 1309 deletions

View File

@@ -0,0 +1,12 @@
# Changelog
## 2.5.0
* Replace Mail Library
* Use DigitalData.Modules.Database for DB Access
* Use DigitalData.Modules.License for License Management
* Remove clsHotkey.vb
* Remove ClassLogger.vb
* Remove DDLLicenseManager
* Fix jumping selection when refreshing profiles, indicies, etc
* Fix crash when clicking add twice in admin

View File

@@ -1,3 +1,7 @@
Public Class ClassConstants Public Class ClassConstants
Public Const VECTORSEPARATOR = "" Public Const VECTORSEPARATOR = ""
Public Const INDEX_TYPE_BOOLEAN = "BOOLEAN"
Public Const INDEX_TYPE_INTEGER = "INTEGER"
Public Const INDEX_TYPE_VARCHAR = "VARCHAR"
End Class End Class

View File

@@ -1,7 +1,7 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client Imports Oracle.ManagedDataAccess.Client
Imports DigitalData.Controls.LookupGrid Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language
Public Class ClassControls Public Class ClassControls
Private Property Form As frmIndex Private Property Form As frmIndex
@@ -27,7 +27,7 @@ Public Class ClassControls
chk.Location = New Point(11, y) chk.Location = New Point(11, y)
chk.Tag = New ControlMeta() With { chk.Tag = New ControlMeta() With {
.IndexName = indexname, .IndexName = indexname,
.IndexType = "BOOLEAN" .IndexType = ClassConstants.INDEX_TYPE_BOOLEAN
} }
If caption <> "" Then If caption <> "" Then
@@ -107,7 +107,7 @@ Public Class ClassControls
' oSql = ClassPatterns.ReplaceInternalValues(oSql) ' oSql = ClassPatterns.ReplaceInternalValues(oSql)
' oSql = ClassPatterns.ReplaceUserValues(oSql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_DOKART_ID) ' oSql = ClassPatterns.ReplaceUserValues(oSql, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_DOKART_ID)
' Dim oDatatable = ClassDatabase.Return_Datatable_Combined(oSql, oConnectionString, False) ' Dim oDatatable = DATABASE_ECM.GetDatatable(.Return_Datatable_Combined(oSql, oConnectionString, False)
' oControl.DataSource = oDatatable ' oControl.DataSource = oDatatable
' End If ' End If
' Else ' Else
@@ -188,7 +188,7 @@ Public Class ClassControls
Try Try
Dim indexname = cmb.Name.Replace("cmb", "") Dim indexname = cmb.Name.Replace("cmb", "")
Dim sql = "SELECT GUID,NAME,SQL_RESULT FROM TBDD_INDEX_MAN where SUGGESTION = 1 AND SQL_RESULT like '%@" & indexname & "%' and DOK_ID = " & CURRENT_DOKART_ID & " ORDER BY SEQUENCE" Dim sql = "SELECT GUID,NAME,SQL_RESULT FROM TBDD_INDEX_MAN where SUGGESTION = 1 AND SQL_RESULT like '%@" & indexname & "%' and DOK_ID = " & CURRENT_DOKART_ID & " ORDER BY SEQUENCE"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql)
If Not IsNothing(DT) Then If Not IsNothing(DT) Then
If DT.Rows.Count > 0 Then If DT.Rows.Count > 0 Then
Dim cmbname = "cmb" & DT.Rows(0).Item("NAME") Dim cmbname = "cmb" & DT.Rows(0).Item("NAME")
@@ -215,7 +215,7 @@ Public Class ClassControls
Dim NewDataset As New DataSet Dim NewDataset As New DataSet
Dim i As Integer Dim i As Integer
Dim DT_INDEX As DataTable = ClassDatabase.Return_Datatable("select * FROM TBDD_INDEX_MAN WHERE GUID = " & INDEX_GUID, True) Dim DT_INDEX As DataTable = DATABASE_ECM.GetDatatable("select * FROM TBDD_INDEX_MAN WHERE GUID = " & INDEX_GUID)
If IsNothing(DT_INDEX) Then If IsNothing(DT_INDEX) Then
Exit Sub Exit Sub
End If End If
@@ -229,7 +229,7 @@ Public Class ClassControls
Dim cmb As ComboBox = ctrl Dim cmb As ComboBox = ctrl
Dim sql As String = sql_result.ToString.ToUpper.Replace("@" & SearchString.ToUpper, Resultvalue) Dim sql As String = sql_result.ToString.ToUpper.Replace("@" & SearchString.ToUpper, Resultvalue)
connectionString = ClassFormFunctions.GetConnectionString(conid) connectionString = DATABASE_ECM.Get_ConnectionStringforID(conid)
If connectionString Is Nothing = False Then If connectionString Is Nothing = False Then
'SQL Befehl füllt die Auswahlliste 'SQL Befehl füllt die Auswahlliste
@@ -312,7 +312,7 @@ Public Class ClassControls
} }
Select Case DataType Select Case DataType
Case "INTEGER" Case ClassConstants.INDEX_TYPE_INTEGER
oEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric oEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric
oEdit.Properties.Mask.EditMask = "d" oEdit.Properties.Mask.EditMask = "d"
Console.WriteLine() Console.WriteLine()
@@ -400,15 +400,15 @@ Public Class ClassControls
Dim oMeta = DirectCast(Control.Tag, ClassControls.ControlMeta) Dim oMeta = DirectCast(Control.Tag, ClassControls.ControlMeta)
Dim oIndexName As String = oMeta.IndexName Dim oIndexName As String = oMeta.IndexName
Dim oSQL = $"SELECT * FROM TBDD_INDEX_MAN WHERE SQL_RESULT LIKE '%{oIndexName}%'" Dim oSQL = $"SELECT * FROM TBDD_INDEX_MAN WHERE SQL_RESULT LIKE '%{oIndexName}%'"
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
If Not IsNothing(oDatatable) Then If Not IsNothing(oDatatable) Then
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name) LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows For Each oRow As DataRow In oDatatable.Rows
Dim oControlName As String = NotNull(oRow.Item("NAME"), "") Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1) Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "") Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName) LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
@@ -436,8 +436,8 @@ Public Class ClassControls
Exit Sub Exit Sub
End If End If
Dim oConnectionString = ClassFormFunctions.GetConnectionString(SqlConnectionId) Dim oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(SqlConnectionId)
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable_CS(SqlCommand, oConnectionString) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(SqlCommand)
Dim oFoundControl As Control = Nothing Dim oFoundControl As Control = Nothing
For Each oControl As Control In Panel.Controls For Each oControl As Control In Panel.Controls

View File

@@ -23,54 +23,6 @@ Public Class ClassDatabase
End Try End Try
End Function End Function
Public Shared Function Get_ConnectionString(id As Integer)
Dim connectionString As String = ""
Try
'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id)
Dim DTConnection As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id)
If DTConnection.Rows.Count = 1 Then
Select Case DTConnection.Rows(0).Item("SQL_PROVIDER").ToString.ToUpper
Case "MS-SQL"
If DTConnection.Rows(0).Item("USERNAME") = "WINAUTH" Then
connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";Trusted_Connection=True;"
Else
connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
End If
' connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
Case "Oracle"
If DTConnection.Rows(0).Item("BEMERKUNG").ToString.Contains("without tnsnames") Then
connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & DTConnection.Rows(0).Item("SERVER") & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" &
DTConnection.Rows(0).Item("DATENBANK") & ")));User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
Else
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Persist Security Info=True;User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";Unicode=True"
End If
'Case "ODBC"
' Dim conn As New OdbcConnection("dsn=" & DTConnection.Rows(0).Item("SERVER") & ";uid=" & DTConnection.Rows(0).Item("USERNAME") & ";pwd=" + DTConnection.Rows(0).Item("PASSWORD"))
' connectionString = conn.ConnectionString
Case Else
LOGGER.Info(" - ConnectionType nicht integriert")
MsgBox("ConnectionType nicht integriert", MsgBoxStyle.Critical, "Bitte Konfiguration Connection überprüfen!")
End Select
Else
LOGGER.Info(" No entry for Connection-ID: " & id.ToString)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info(" - Error in bei Get ConnectionString - Fehler: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Get ConnectionString:")
End Try
Return connectionString
End Function
Public Shared Function Return_Datatable_Combined(SqlCommand As String, ConnectionString As String, Optional userInput As Boolean = False)
If ConnectionString.Contains("Initial Catalog=") Then
Return Return_Datatable_CS(SqlCommand, ConnectionString, userInput)
Else
Return Oracle_Return_Datatable(SqlCommand, ConnectionString, userInput)
End If
End Function
Public Shared Function Return_Datatable(sql_command As String, Optional userInput As Boolean = False) As DataTable Public Shared Function Return_Datatable(sql_command As String, Optional userInput As Boolean = False) As DataTable
Try Try
Dim SQLconnect As New SqlConnection Dim SQLconnect As New SqlConnection
@@ -148,110 +100,7 @@ Public Class ClassDatabase
Return Nothing Return Nothing
End Try End Try
End Function End Function
Public Shared Function Execute_non_Query(sql_command As String, Optional userInput As Boolean = False) As Boolean
Try
Dim SQLconnect As New SqlConnection
Dim SQLcommand As SqlCommand
SQLconnect.ConnectionString = SQLSERVERConnectionString
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = sql_command
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
' Reset timeout counter when query was sucessful
DatabaseConnectionTimeout = False
Return True
Catch ex As SqlException
Dim handled = CatchDatabaseTimeout(ex, sql_command)
If Not handled Then
If userInput = True Then
MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & sql_command, MsgBoxStyle.Critical)
End If
LOGGER.Error(ex)
LOGGER.Info("#SQL: " & sql_command)
End If
Return False
Catch ex As Exception
If userInput = True Then
MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & sql_command, MsgBoxStyle.Critical)
End If
LOGGER.Error(ex)
LOGGER.Info("#SQL: " & sql_command)
Return False
End Try
End Function
Public Shared Function Execute_non_Query_ConStr(ExecuteCMD As String, ConnString As String, Optional userInput As Boolean = False)
Try
Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand
SQLconnect.ConnectionString = ConnString
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = ExecuteCMD
LOGGER.Debug("Execute_non_Query_ConStr Created: " & ExecuteCMD)
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
LOGGER.Error(ex)
If userInput = True Then
MsgBox("Error in Execute_non_Query_ConStr - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical)
End If
Clipboard.SetText("Error Execute_non_Query_ConStr: " & ex.Message & vbNewLine & "SQL: " & ExecuteCMD)
LOGGER.Info("Fehler bei Execute_non_Query_ConStr: " & ex.Message, True)
LOGGER.Info("#SQL: " & ExecuteCMD, False)
Return False
End Try
End Function
Public Shared Function Execute_Scalar(sql_command As String, ConString As String, Optional userInput As Boolean = False)
Dim result
Try
Dim SQLconnect As New SqlConnection
Dim SQLcommand As SqlCommand
SQLconnect.ConnectionString = ConString
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo
SQLcommand.CommandText = sql_command
result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose()
SQLconnect.Close()
' Reset timeout counter when query was sucessful
DatabaseConnectionTimeout = False
Return result
Catch ex As SqlException
Dim handled = CatchDatabaseTimeout(ex, sql_command)
If Not handled Then
If userInput = True Then
MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & sql_command, MsgBoxStyle.Critical)
End If
LOGGER.Error(ex)
LOGGER.Info("#SQL: " & sql_command)
End If
Return False
Catch ex As Exception
If userInput = True Then
MsgBox("Error in Execute Scalar - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & sql_command, MsgBoxStyle.Critical)
End If
LOGGER.Error(ex)
LOGGER.Info("#SQL: " & sql_command)
Return Nothing
End Try
End Function
Public Shared Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String) Public Shared Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String)
Dim result Dim result
Try Try

View File

@@ -8,7 +8,7 @@
(DOCTYPE_ID, GROUP_ID, ADDED_WHO) (DOCTYPE_ID, GROUP_ID, ADDED_WHO)
VALUES ({ProfileId}, {GroupId}, '{Environment.UserName}') VALUES ({ProfileId}, {GroupId}, '{Environment.UserName}')
" "
Return ClassDatabase.Execute_non_Query(oSQL, True) Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return False Return False
@@ -18,7 +18,7 @@
Public Shared Function RemoveGroupFromProfile(GroupId As Integer, ProfileId As Integer) As Boolean Public Shared Function RemoveGroupFromProfile(GroupId As Integer, ProfileId As Integer) As Boolean
Try Try
Dim oSQL = $"DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = {ProfileId} AND GROUP_ID = {GroupId}" Dim oSQL = $"DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = {ProfileId} AND GROUP_ID = {GroupId}"
Return ClassDatabase.Execute_non_Query(oSQL, True) Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return False Return False
@@ -36,7 +36,7 @@
WHERE DOCTYPE_ID = {ProfileId} WHERE DOCTYPE_ID = {ProfileId}
) )
" "
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable Return oDatatable
Catch ex As Exception Catch ex As Exception
@@ -56,7 +56,7 @@
WHERE DOCTYPE_ID = {ProfileId} WHERE DOCTYPE_ID = {ProfileId}
) )
" "
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable Return oDatatable
Catch ex As Exception Catch ex As Exception
@@ -75,7 +75,7 @@
(DOCTYPE_ID, USER_ID, ADDED_WHO) (DOCTYPE_ID, USER_ID, ADDED_WHO)
VALUES ({ProfileId}, {UserId}, '{Environment.UserName}') VALUES ({ProfileId}, {UserId}, '{Environment.UserName}')
" "
Return ClassDatabase.Execute_non_Query(oSQL, True) Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return False Return False
@@ -85,7 +85,7 @@
Public Shared Function RemoveUserFromProfile(UserId As Integer, ProfileId As Integer) As Boolean Public Shared Function RemoveUserFromProfile(UserId As Integer, ProfileId As Integer) As Boolean
Try Try
Dim oSQL = $"DELETE FROM TBDD_USER_DOKTYPE WHERE DOCTYPE_ID = {ProfileId} AND USER_ID = {UserId}" Dim oSQL = $"DELETE FROM TBDD_USER_DOKTYPE WHERE DOCTYPE_ID = {ProfileId} AND USER_ID = {UserId}"
Return ClassDatabase.Execute_non_Query(oSQL, True) Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return False Return False
@@ -102,7 +102,7 @@
WHERE DOCTYPE_ID = {ProfileId} WHERE DOCTYPE_ID = {ProfileId}
) )
" "
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable Return oDatatable
Catch ex As Exception Catch ex As Exception
@@ -122,7 +122,7 @@
) )
AND GUID IN (SELECT USER_ID FROM [dbo].[FNDD_GET_USER_FOR_MODULE] ('GLOBIX', 1)) AND GUID IN (SELECT USER_ID FROM [dbo].[FNDD_GET_USER_FOR_MODULE] ('GLOBIX', 1))
" "
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable Return oDatatable
Catch ex As Exception Catch ex As Exception

View File

@@ -21,11 +21,8 @@ Public Class ClassEmail
If test = False Then If test = False Then
If Log = True Then If Log = True Then
' create and add the attachment(s) */ ' create and add the attachment(s) */
If ClassLogger.logDateiname.Contains("\\") Then If IO.File.Exists(LOGCONFIG.LogFile) Then
ClassLogger.logDateiname = ClassLogger.logDateiname.Replace("\\", "\") Dim Attachment As Attachment = New Attachment(LOGCONFIG.LogFile)
End If
If IO.File.Exists(ClassLogger.logDateiname) Then
Dim Attachment As Attachment = New Attachment(ClassLogger.logDateiname)
message.Attachments.Add(Attachment) message.Attachments.Add(Attachment)
End If End If
End If End If

View File

@@ -1,105 +0,0 @@
Imports Limilabs.Mail
Imports Limilabs.Mail.MSG
Imports System.Text.RegularExpressions
Public Class ClassEmailHeaderExtractor
'''' <summary>
'''' Extrahiert die Headerinformationen aus einem msg Objekt mithilfe der MSG.NET Klasse
'''' </summary>
'''' <param name="msg">Eine Email vom Typ Msg.Message</param>
'''' <returns>Headerinformationen als String oder Nothing wenn ein Fehler aufgetreten ist.</returns>
'Public Shared Function getMessageHeaders(msg As Msg.Message)
' Try
' Dim headers = msg.TransportMessageHeaders.Replace(vbCrLf, " ")
' Return headers
' Catch ex As Exception
' Return Nothing
' End Try
'End Function
'''' <summary>
'''' Extrahiert aus den Headerinformationen anhand einer Liste von Regular Expressions eine Absenderadresse.
'''' </summary>
'''' <param name="messageHeaders">Headerinformationen die von getMessageHeaders erzeugt wurden.</param>
'''' <param name="RegexList">Eine Liste von Regular Expressions</param>
'''' <param name="RegexGroup">Die Ergebnisgruppe, die die Adresse enthält</param>
'''' <returns>Eine Emailadresse oder Nothing, wenn keine der Regular Expressions ein Ergebnis lieferte.</returns>
'Public Shared Function extractFromAddress(messageHeaders As String, RegexList As List(Of Regex), Optional RegexGroup As Integer = 1)
' If IsNothing(messageHeaders) Then
' Return Nothing
' End If
' For Each rx In RegexList
' Dim match As Match = rx.Match(messageHeaders)
' Dim email As String = match.Groups(RegexGroup).Value
' If Not String.IsNullOrWhiteSpace(email) Then
' Return email
' End If
' Next
' Return Nothing
'End Function
'Public Shared Function extractFromHeader(messageHeaders As String, Regex As String)
' Try
' Dim result = Nothing
' Dim i As Integer = 0
' If IsNothing(messageHeaders) Then
' Return Nothing
' End If
' ' einen Regulären Ausdruck laden
' Dim strRegex As String = Regex
' Dim myRegex As New Regex(strRegex, RegexOptions.IgnorePatternWhitespace Or RegexOptions.IgnoreCase)
' Dim strTargetString As String = messageHeaders.Trim
' ' die Vorkommen im String auslesen
' For Each myMatch As Match In myRegex.Matches(strTargetString)
' If myMatch.Success Then
' LOGGER.Debug("Match success. Matched Value: [{0}]", myMatch.Value)
' If myMatch.Value <> "" Then
' If i = 0 Then
' result = myMatch.Value.ToString
' Else
' result = result & ";" & myMatch.Value.ToString
' End If
' i += 1
' End If
' Else
' LOGGER.Debug("Match failed!")
' End If
' Next
' LOGGER.Debug("Extracted value: [{0}]", result)
' Return result
' Catch ex As Exception
' LOGGER.Error(ex)
' MsgBox("Unexpected Error in extractFromHeader: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' Return Nothing
' End Try
'End Function
'''' <summary>
'''' Extrahiert aus den Headerinformationen anhand einer Liste von Regular Expressions eine Empfängeradresse.
'''' </summary>
'''' <param name="messageHeaders">Headerinformationen die von getMessageHeaders erzeugt wurden.</param>
'''' <param name="RegexList">Eine Liste von Regular Expressions</param>
'''' <param name="RegexGroup">Die Ergebnisgruppe, die die Adresse enthält</param>
'''' <returns>Eine Emailadresse oder Nothing, wenn keine der Regular Expressions ein Ergebnis lieferte.</returns>
'Public Shared Function extractToAddress(messageHeaders As String, RegexList As List(Of Regex), Optional RegexGroup As Integer = 1)
' If IsNothing(messageHeaders) Then
' Return Nothing
' End If
' For Each rx In RegexList
' Dim match As Match = rx.Match(messageHeaders)
' Dim email As String = match.Groups(RegexGroup).Value
' If Not String.IsNullOrWhiteSpace(email) Then
' Return email
' End If
' Next
' Return Nothing
'End Function
End Class

View File

@@ -4,34 +4,35 @@ Imports Microsoft.Office.Interop
Public Class ClassFileDrop 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/ ' 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 'Private Declare Function DVEmlFromMailItem Lib "DvApi32" (ByVal oMailItem As MailItem, ByVal strFileName As String) As Long
Public Shared Function Drop_File(e As DragEventArgs) Public Shared Function Drop_File(e As DragEventArgs)
Try Try
LOGGER.Debug("Available Drop Formats:")
For Each oFormat As String In e.Data.GetFormats()
LOGGER.Debug(oFormat)
Next
LOGGER.Info("Drop_File") LOGGER.Info("Drop_File")
files_dropped = Nothing
FilesDropped.Clear()
If e.Data.GetDataPresent(DataFormats.FileDrop) Then If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim MyFiles() As String Dim oFilesFromEvent() As String
Dim i As Integer Dim oIndex As Integer
' Assign the files to an array. ' 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. ' Loop through the array and add the files to the list.
For i = 0 To MyFiles.Length - 1 For oIndex = 0 To oFilesFromEvent.Length - 1
LOGGER.Info("Simple FileDrop - File: " & MyFiles(i)) LOGGER.Info("Simple FileDrop - File: " & oFilesFromEvent(oIndex))
ReDim Preserve files_dropped(i) FilesDropped.Add("|DROPFROMFSYSTEM|" & oFilesFromEvent(oIndex))
files_dropped(i) = "|DROPFROMFSYSTEM|" & MyFiles(i)
'ReDim Preserve FilesDropped(oIndex)
'FilesDropped(oIndex) = "|DROPFROMFSYSTEM|" & oFilesFromEvent(oIndex)
' ListBox1.Items.Add(MyFiles(i)) ' ListBox1.Items.Add(MyFiles(i))
Next Next
Return True Return True
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
'// the first step here is to get the stbFileName '// the first step here is to get the stbFileName
'// of the attachment and '// of the attachment and
@@ -40,9 +41,9 @@ Public Class ClassFileDrop
'// '//
'// set up to obtain the aryFileGroupDescriptor '// set up to obtain the aryFileGroupDescriptor
'// and extract the file name '// 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] 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 '// used to build the stbFileName from the aryFileGroupDescriptor block
Dim stbFileName As System.Text.StringBuilder = New System.Text.StringBuilder("") Dim stbFileName As System.Text.StringBuilder = New System.Text.StringBuilder("")
'// this trick gets the stbFileName of the passed attached file '// 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"))) stbFileName.Append(Convert.ToChar(aryFileGroupDescriptor(intCnt), System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")))
intCnt += 1 intCnt += 1
Loop Loop
stmInput.Close() oStream.Close()
'Sonderzeichen entfernen 'Sonderzeichen entfernen
Dim Tempfilename = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(stbFileName.ToString) Dim oTempFileName = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(stbFileName.ToString)
Dim anhaenge = e.Data.GetDataPresent("FileContents") Dim oAttachments = e.Data.GetDataPresent("FileContents")
'Dim path As String = "C:\VBProjekte\Dateien" Dim strOutFile As String = Path.Combine(Path.GetTempPath(), oTempFileName)
'// put the zip file into the temp directory
Dim strOutFile As String = Path.GetTempPath() & Tempfilename
'// create the full-path name '// create the full-path name
'// '//
'// Second step: we have the file 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. '// data for the attached file and copy it to disk so we work on it.
'// '//
'// get the actual raw file into memory '// 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 Dim oMemoryStreamInput As IO.MemoryStream = CType(e.Data.GetData("FileContents", True), IO.MemoryStream) 'This returns nothing for an Email
If msInput Is Nothing = False Then If oMemoryStreamInput Is Nothing = False Then
'// allocate enough bytes to hold the raw date '// 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 '// set starting position at first byte and read in the raw data
msInput.Position = 0 oMemoryStreamInput.Position = 0
msInput.Read(aryFileBytes, 0, CType(msInput.Length, Int32)) oMemoryStreamInput.Read(aryFileBytes, 0, CType(oMemoryStreamInput.Length, Int32))
'// create a file and save the raw zip file to it '// create a file and save the raw zip file to it
Dim fsOutput As IO.FileStream = New IO.FileStream(strOutFile, IO.FileMode.Create) '; Dim fsOutput As IO.FileStream = New IO.FileStream(strOutFile, IO.FileMode.Create) ';
fsOutput.Write(aryFileBytes, 0, aryFileBytes.Length) fsOutput.Write(aryFileBytes, 0, aryFileBytes.Length)
@@ -83,9 +82,12 @@ Public Class ClassFileDrop
Dim finTemp As IO.FileInfo = New IO.FileInfo(strOutFile) Dim finTemp As IO.FileInfo = New IO.FileInfo(strOutFile)
'// always good to make sure we actually created the file '// always good to make sure we actually created the file
If (finTemp.Exists = True) Then If (finTemp.Exists = True) Then
ReDim Preserve files_dropped(0)
files_dropped(0) = "|OUTLOOK_ATTACHMENT|" & strOutFile
LOGGER.Info("Drop an Attachment - File: " & strOutFile) LOGGER.Info("Drop an Attachment - File: " & strOutFile)
FilesDropped.Add("|OUTLOOK_ATTACHMENT|" & strOutFile)
'ReDim Preserve FilesDropped(0)
'FilesDropped(0) = "|OUTLOOK_ATTACHMENT|" & strOutFile
Return True Return True
Else Else
LOGGER.Info("Attachment File from Outlook could not be created") LOGGER.Info("Attachment File from Outlook could not be created")
@@ -111,12 +113,6 @@ Public Class ClassFileDrop
If subj = "" Then If subj = "" Then
subj = "NO_SUBJECT" subj = "NO_SUBJECT"
End If End If
If subj.Contains("\") Then
subj = subj.Replace("\", "-")
End If
If subj.Contains("/") Then
subj = subj.Replace("/", "-")
End If
'Sonderzeichen entfernen 'Sonderzeichen entfernen
subj = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(subj) subj = DigitalData.Modules.Language.Utils.RemoveInvalidCharacters(subj)
@@ -138,8 +134,10 @@ Public Class ClassFileDrop
"Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer") "Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer")
End Try End Try
ReDim Preserve files_dropped(i) FilesDropped.Add("|OUTLOOK_MESSAGE|" & oFilename)
files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
'ReDim Preserve FilesDropped(i)
'FilesDropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
Next Next

View File

@@ -6,11 +6,25 @@ Imports DigitalData.Modules.Language
Imports Limilabs.Mail Imports Limilabs.Mail
Public Class ClassFilehandle 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 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 = "" CURRENT_MESSAGEID = ""
Dim oMail As IMail = EMAIL.Load_Email(pFilename) Dim oMail As IMail = EMAIL.Load_Email(oTempFilePath)
If oMail.Attachments.Count > 0 Then If oMail.Attachments.Count > 0 Then
Dim oTitle As String Dim oTitle As String
Dim oMessage 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 ' 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) oResult = MessageBox.Show(oMessage, oTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
If oResult = MsgBoxResult.Yes Then If oResult = MsgBoxResult.Yes Then
Dim oIsFolderWatch = pHandletype.StartsWith("|FW") Dim oIsFolderWatch = pHandletype.StartsWith("|FW")
Return Save_EmailAndAttachmentsToDisk(pFilename, oIsFolderWatch) Return Save_EmailAndAttachmentsToDisk(oTempFilePath, oIsFolderWatch)
End If End If
End If End If
End If End If
If pFilename.ToUpper.EndsWith(".LNK") Then If oTempFilePath.ToUpper.EndsWith(".LNK") Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Verknüpfungen können nicht abgelegt werden!", MsgBoxStyle.Critical, "Global Indexer") MsgBox("Verknüpfungen können nicht abgelegt werden!", MsgBoxStyle.Critical, "Global Indexer")
Else Else
@@ -44,7 +59,7 @@ Public Class ClassFilehandle
Return False Return False
End If End If
Return Insert_GI_File(pFilename, pHandletype) Return Insert_GI_File(oTempFilePath, pHandletype)
Catch ex As Exception Catch ex As Exception
MsgBox("Unexpected Error in Decide_FileHandle: " & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Decide_FileHandle: " & ex.Message, MsgBoxStyle.Critical)
Return False Return False
@@ -204,7 +219,7 @@ Public Class ClassFilehandle
Dim filename_only As String = Path.GetFileName(filename) Dim filename_only As String = Path.GetFileName(filename)
Dim ins As String = $"INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK, HANDLE_TYPE, FILENAME_ONLY, FILE_HASH) VALUES ('{filename}','{Environment.UserName}','{handleType}','{filename_only}', '{oHash}')" Dim ins As String = $"INSERT INTO TBGI_FILES_USER (FILENAME2WORK, USER@WORK, HANDLE_TYPE, FILENAME_ONLY, FILE_HASH) VALUES ('{filename}','{Environment.UserName}','{handleType}','{filename_only}', '{oHash}')"
Return ClassDatabase.Execute_non_Query(ins, True) Return DATABASE_ECM.ExecuteNonQuery(ins)
Catch ex As Exception Catch ex As Exception
Return False Return False

View File

@@ -171,11 +171,6 @@ Public Class ClassFolderWatcher
End If End If
End Function End Function
Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs) Private Shared Sub OnCreated(source As Object, e As FileSystemEventArgs)
If ClassDatabase.DatabaseConnectionTimeout = True Then
LOGGER.Info(">> File handling aborted because of database timeout error!")
Exit Sub
End If
Try Try
For Each row As DataRow In DTEXCLUDE_FILES.Rows For Each row As DataRow In DTEXCLUDE_FILES.Rows
Dim content As String = row.Item(0).ToString.ToLower Dim content As String = row.Item(0).ToString.ToLower

View File

@@ -1,74 +0,0 @@
Imports System.Text.RegularExpressions
Public Class ClassFormFunctions
Public Shared Function GetConnectionString(id As Integer)
Dim connectionString As String = ""
Try
'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id)
Dim DTConnection As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id)
If DTConnection.Rows.Count = 1 Then
Dim CSType = DTConnection.Rows(0).Item("SQL_PROVIDER").ToString.ToUpper
Select Case CSType
Case "MS-SQL".ToUpper
If DTConnection.Rows(0).Item("USERNAME").ToString.ToLower = "winauth" Then
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Initial Catalog= " & DTConnection.Rows(0).Item("DATENBANK") & ";Trusted_Connection=True;"
Else
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Initial Catalog= " & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
End If
Case "MS-SQLServer".ToUpper
If DTConnection.Rows(0).Item("USERNAME").ToString.ToLower = "winauth" Then
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Initial Catalog= " & DTConnection.Rows(0).Item("DATENBANK") & ";Trusted_Connection=True;"
Else
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Initial Catalog= " & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
End If
Case "Oracle".ToUpper
If DTConnection.Rows(0).Item("BEMERKUNG").ToString.Contains("without tnsnames") Then
connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & DTConnection.Rows(0).Item("SERVER") & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" &
DTConnection.Rows(0).Item("DATENBANK") & ")));User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";"
Else
connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Persist Security Info=True;User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";Unicode=True"
End If
'Dim conn As New OracleConnectionStringBuilder
'If chkOR_ohne_TNS.Checked Then
' connstr = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & SERVERTextBox.Text & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & _
' DATENBANKTextBox.Text & ")));User Id=" & USERNAMETextBox.Text & ";Password=" & PASSWORDTextBox.Text & ";"
'Else
' conn.DataSource = DATENBANKTextBox.Text
' conn.UserID = USERNAMETextBox.Text
' conn.Password = PASSWORDTextBox.Text
' conn.PersistSecurityInfo = True
' conn.ConnectionTimeout = 120
' connstr = conn.ConnectionString
'End If
'Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
Case Else
LOGGER.Info(" - ConnectionType not integrated")
MsgBox("ConnectionType not integrated", MsgBoxStyle.Critical, "Please check connection:")
End Select
End If
Catch ex As Exception
LOGGER.Info(" - Unexpected Error in GetConnectionString:" & vbNewLine & ex.Message)
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in GetConnectionString:")
End Try
Return connectionString
End Function
Public Shared Function CleanInput(strIn As String) As String
' Replace invalid characters with empty strings.
Try
Return Regex.Replace(strIn, "[^\w\.@-]", "")
' If we timeout when replacing invalid characters,
' we should return String.Empty.
Catch e As RegexMatchTimeoutException
Return String.Empty
End Try
End Function
End Class

View File

@@ -1,65 +0,0 @@
Imports System.Text
Imports System.Text.RegularExpressions
Public Class ClassHelper
Public Shared Function encode_utf8(ByVal str As String) As String
Try
'supply True as the construction parameter to indicate
'that you wanted the class to emit BOM (Byte Order Mark)
'NOTE: this BOM value is the indicator of a UTF-8 string
Dim utf8Encoding As New System.Text.UTF8Encoding(True)
Dim encodedString() As Byte
encodedString = utf8Encoding.GetBytes(str)
LOGGER.Info(String.Format(" >> String {0} was encoded via utf8 to {1}", str, utf8Encoding.GetString(encodedString)))
Return utf8Encoding.GetString(encodedString)
Catch ex As Exception
LOGGER.Info("Unexpected error in encode_utf8: " & ex.Message)
LOGGER.Error(ex)
Return Nothing
End Try
End Function
Public Shared Function StringAsUtf8Bytes(ByVal strData As String) As Byte()
Try
Dim bytes() As Byte
' get unicode string as bytes
bytes = Encoding.UTF8.GetBytes(strData)
' return byte data
Return bytes
Catch ex As Exception
LOGGER.Info("Unexpected error in StringAsUtf8Bytes: " & ex.Message)
LOGGER.Error(ex)
Return Nothing
End Try
End Function
Public Shared Function CheckSpecialSigns(ByVal str As String)
Try
Dim pattern As String = "[!""#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\s]"
Dim matches As MatchCollection = Regex.Matches(str, pattern)
Return matches.Count
Catch ex As Exception
LOGGER.Info("Unexpected error in CheckSpecialSigns: " & ex.Message)
LOGGER.Error(ex)
Return 0
End Try
End Function
Public Shared Sub Refresh_RegexTable()
CURRENT_DT_REGEX = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FUNCTION_REGEX")
End Sub
''' <summary>
''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist.
''' </summary>
''' <param name="value">Der zu überprüfende Wert</param>
''' <param name="defaultValue">Der Standard Wert</param>
''' <returns>value oder wenn dieser "Null" ist, defaultValue</returns>
Public Shared 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 Class

View File

@@ -9,8 +9,11 @@
''' '''
Public Function Init() Public Function Init()
Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE" Dim oSQL = $"SELECT * FROM VWIDB_BE_ATTRIBUTE"
DTVWIDB_BE_ATTRIBUTE = ClassDatabase.Return_Datatable_CS(oSQL, CONNECTION_STRING_IDB) 'DTVWIDB_BE_ATTRIBUTE = ClassDatabase.Return_Datatable_CS(oSQL, CONNECTION_STRING_IDB)
DTVWIDB_BE_ATTRIBUTE = DATABASE_IDB.GetDatatable(oSQL)
Return True
End Function End Function
Public IDBSystemIndices As List(Of String) Public IDBSystemIndices As List(Of String)
Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String() Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String()
Try Try
@@ -101,7 +104,10 @@
LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ") LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ")
End If End If
Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({IDB_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))" Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({IDB_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))"
oAttributeValue = ClassDatabase.Return_Datatable_CS(oFNSQL, CONNECTION_STRING_IDB)
'oAttributeValue = ClassDatabase.Return_Datatable_CS(oFNSQL, CONNECTION_STRING_IDB)
oAttributeValue = DATABASE_IDB.GetDatatable(oFNSQL)
Dim odt As DataTable = oAttributeValue Dim odt As DataTable = oAttributeValue
If odt.Rows.Count = 1 Then If odt.Rows.Count = 1 Then
oAttributeValue = odt.Rows(0).Item(0) oAttributeValue = odt.Rows(0).Item(0)
@@ -122,7 +128,9 @@
oID_IS_FOREIGN = 1 oID_IS_FOREIGN = 1
End If End If
Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {IDB_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}" Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {IDB_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}"
ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB)
'DATABASE_ECM.ExecuteNonQuery_ConStr(oDELSQL, CONNECTION_STRING_IDB)
DATABASE_IDB.ExecuteNonQuery(oDELSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -133,7 +141,9 @@
Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object
Try Try
Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}'" Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}'"
ClassDatabase.Execute_non_Query_ConStr(oDELSQL, CONNECTION_STRING_IDB)
'DATABASE_ECM.ExecuteNonQuery_ConStr(oDELSQL, CONNECTION_STRING_IDB)
DATABASE_IDB.ExecuteNonQuery(oDELSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -207,7 +217,10 @@
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
Dim oSuccess As Boolean = False Dim oSuccess As Boolean = False
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {IDB_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValueRow.Item(1).ToString}','{USER_LANGUAGE}',{IDB_DOC_ID},@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {IDB_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValueRow.Item(1).ToString}','{USER_LANGUAGE}',{IDB_DOC_ID},@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
oSuccess = ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB)
'oSuccess = DATABASE_ECM.ExecuteNonQuery_ConStr(oFNSQL, CONNECTION_STRING_IDB)
oSuccess = DATABASE_IDB.ExecuteNonQuery(oFNSQL)
If oSuccess = False Then If oSuccess = False Then
Return False Return False
End If End If
@@ -215,7 +228,9 @@
Return True Return True
Else Else
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {IDB_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValue}','{USER_LANGUAGE}',{IDB_DOC_ID},@OMD_ID = @NEW_OBJ_MD_ID OUTPUT" Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {IDB_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValue}','{USER_LANGUAGE}',{IDB_DOC_ID},@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
Return ClassDatabase.Execute_non_Query_ConStr(oFNSQL, CONNECTION_STRING_IDB)
'Return DATABASE_ECM.ExecuteNonQuery_ConStr(oFNSQL, CONNECTION_STRING_IDB)
Return DATABASE_IDB.ExecuteNonQuery(oFNSQL)
End If End If
Catch ex As Exception Catch ex As Exception

View File

@@ -33,7 +33,8 @@ Public Class ClassIndexFunctions
'If oResult.Rows.Count = 0 Then 'If oResult.Rows.Count = 0 Then
oSQL = "SELECT * FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') ORDER BY ADDED_WHEN" oSQL = "SELECT * FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') ORDER BY ADDED_WHEN"
Dim oResult = ClassDatabase.Return_Datatable_CS(oSQL, MyConnectionString, True) 'Dim oResult = ClassDatabase.Return_Datatable_CS(oSQL, MyConnectionString, True)
Dim oResult = DATABASE_ECM.GetDatatable(oSQL)
If oResult Is Nothing Then If oResult Is Nothing Then
Return Nothing Return Nothing

View File

@@ -4,13 +4,11 @@ Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Windream Imports DigitalData.Modules.Windream
Imports DigitalData.Modules.Filesystem Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Messaging Imports DigitalData.Modules.Messaging
Imports DigitalData.Modules.Database
Imports DLLLicenseManager Imports DLLLicenseManager
Public Class ClassInit Public Class ClassInit
Public _lizenzManager As ClassLicenseManager
Public Sub InitLogger() Public Sub InitLogger()
ClassLogger.Init("", Environment.UserName)
LOGCONFIG = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, LOGCONFIG = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing,
CompanyName:=My.Application.Info.CompanyName, CompanyName:=My.Application.Info.CompanyName,
ProductName:=My.Application.Info.ProductName) ProductName:=My.Application.Info.ProductName)
@@ -45,11 +43,22 @@ Public Class ClassInit
End If End If
If MyConnectionString <> String.Empty Then If MyConnectionString <> String.Empty Then
' === NEW ===
DATABASE_ECM = New MSSQLServer(LOGCONFIG, MyConnectionString)
dbResult = DATABASE_ECM.DBInitialized
' === OLD ===
dbResult = ClassDatabase.Init() dbResult = ClassDatabase.Init()
Else Else
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
ERROR_STATE = "NO DB-CONNECTION" ERROR_STATE = "NO DB-CONNECTION"
frmConfig_Basic.ShowDialog() frmConfig_Basic.ShowDialog()
' === NEW ===
DATABASE_ECM = New MSSQLServer(LOGCONFIG, MyConnectionString)
dbResult = DATABASE_ECM.DBInitialized
' === OLD ===
dbResult = ClassDatabase.Init() dbResult = ClassDatabase.Init()
End If End If
@@ -79,7 +88,7 @@ Public Class ClassInit
Else Else
If IDB_ACTIVE = False Then If IDB_ACTIVE = False Then
Try 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 Not IsNothing(WINDREAM) Then
If WINDREAM.SessionLoggedin = True Then If WINDREAM.SessionLoggedin = True Then
LOGGER.Debug("windream initialisiert") LOGGER.Debug("windream initialisiert")
@@ -100,13 +109,13 @@ Public Class ClassInit
Try Try
ClassDatabase.Init() ClassDatabase.Init()
Dim oSql As String = "SELECT * FROM TBDD_MODULES WHERE NAME = 'Global-Indexer'" Dim oSql As String = "SELECT * FROM TBDD_MODULES WHERE NAME = 'Global-Indexer'"
Dim DT As DataTable = ClassDatabase.Return_Datatable(oSql) Dim DT As DataTable = DATABASE_ECM.GetDatatable(oSql)
If DT.Rows.Count = 1 Then If DT.Rows.Count = 1 Then
GI_withWindream = DT.Rows(0).Item("BIT1") GI_withWindream = DT.Rows(0).Item("BIT1")
'vWLaufwerk = DT.Rows(0).Item("STRING1") 'vWLaufwerk = DT.Rows(0).Item("STRING1")
End If End If
oSql = "SELECT * FROM TBDD_BASECONFIG" oSql = "SELECT * FROM TBDD_BASECONFIG"
DT = ClassDatabase.Return_Datatable(oSql) DT = DATABASE_ECM.GetDatatable(oSql)
If DT.Rows.Count = 1 Then If DT.Rows.Count = 1 Then
WMDrive = DT.Rows(0).Item("WM_DRIVE") WMDrive = DT.Rows(0).Item("WM_DRIVE")
Return True Return True
@@ -123,7 +132,7 @@ Public Class ClassInit
Public Sub Init_Folderwatch() Public Sub Init_Folderwatch()
Try Try
Dim sql As String = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & USER_ID Dim sql As String = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & USER_ID
Dim folderwatchPath = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) Dim folderwatchPath = DATABASE_ECM.GetScalarValue(sql)
folderwatchPath = IIf(IsDBNull(folderwatchPath), "", folderwatchPath) folderwatchPath = IIf(IsDBNull(folderwatchPath), "", folderwatchPath)
@@ -158,7 +167,7 @@ Public Class ClassInit
Try Try
Dim sql As String = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_ID Dim sql As String = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_ID
Dim folderwatchScanPath = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) Dim folderwatchScanPath = DATABASE_ECM.GetScalarValue(sql)
folderwatchScanPath = IIf(IsDBNull(folderwatchScanPath), "", folderwatchScanPath) folderwatchScanPath = IIf(IsDBNull(folderwatchScanPath), "", folderwatchScanPath)
@@ -186,50 +195,13 @@ Public Class ClassInit
LOGGER.Info($"Init_Folderwatch: Unexpected error: {ex.Message}") LOGGER.Info($"Init_Folderwatch: Unexpected error: {ex.Message}")
START_INCOMPLETE = True START_INCOMPLETE = True
End Try End Try
'Try
' 'Die FolderWatch starten
'Dim sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & CURRENT_USER_ID
' Dim folderwatch = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True)
' sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & CURRENT_USER_ID
' Dim folderwatch_SCAN = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True)
' If Not folderwatch Is Nothing Then
' CURRENT_FOLDERWATCH = folderwatch
' If FW_started = True Then
' If CURRENT_FOLDERWATCH = "" Then
' FW_started = False
' SaveConfigValue("FW_started", "False")
' Else
' FW_ISSTARTED = True
' ClassFolderWatcher.StartStop_FolderWatch()
' End If
' End If
' Else
' LOGGER.Info("Init_Folderwatch: folderwatch path is nothing!")
' End If
' If Not folderwatch_SCAN Is Nothing Then
' CURRENT_SCAN_FOLDERWATCH = folderwatch_SCAN
' If FWSCAN_started = True Then
' FW_ISSTARTED = True
' ClassFolderWatcher.StartStop_FolderWatchSCAN()
' End If
' Else
' LOGGER.Info("Init_Folderwatch: folderwatch_SCAN path is nothing!")
' End If
'Catch ex As Exception
' LOGGER.Info("Unexpected Error in Init_Folderwatch: " & ex.Message)
' START_INCOMPLETE = True
'End Try
End Sub End Sub
Public Sub InitUserLogin() Public Sub InitUserLogin()
Try Try
Dim oSql As String Dim oSql As String
oSql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','GLOBIX',{1})", Environment.UserName, 1) oSql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','GLOBIX',{1})", Environment.UserName, 1)
Dim DT_CHECKUSER_MODULE As DataTable = ClassDatabase.Return_Datatable(oSql) Dim DT_CHECKUSER_MODULE As DataTable = DATABASE_ECM.GetDatatable(oSql)
If DT_CHECKUSER_MODULE.Rows.Count = 0 Then If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
LOGGER.Info("DT_CHECKUSER_MODULE.Rows.Count = 0") LOGGER.Info("DT_CHECKUSER_MODULE.Rows.Count = 0")
START_INCOMPLETE = True START_INCOMPLETE = True
@@ -238,22 +210,25 @@ Public Class ClassInit
Exit Sub Exit Sub
End If End If
If DT_CHECKUSER_MODULE.Rows.Count = 1 Then If DT_CHECKUSER_MODULE.Rows.Count = 1 Then
If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") = 0 And IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")) Then
Dim oRow As DataRow = DT_CHECKUSER_MODULE.Rows(0)
If oRow.Item("USER_ID") = 0 And IsDBNull(oRow.Item("USER_SURNAME")) Then
LOGGER.Info("User '" & Environment.UserName & "' not configured in Useradministration!") LOGGER.Info("User '" & Environment.UserName & "' not configured in Useradministration!")
START_INCOMPLETE = True START_INCOMPLETE = True
Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!") Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!")
Exit Sub Exit Sub
End If End If
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS") USER_IN_MODULE = oRow.Item("MODULE_ACCESS")
USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") USER_ID = oRow.Item("USER_ID")
USER_SURNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")) USER_SURNAME = IIf(IsDBNull(oRow.Item("USER_SURNAME")), "", oRow.Item("USER_SURNAME"))
USER_PRENAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")) USER_PRENAME = IIf(IsDBNull(oRow.Item("USER_PRENAME")), "", oRow.Item("USER_PRENAME"))
USER_SHORTNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")) USER_SHORTNAME = IIf(IsDBNull(oRow.Item("USER_SHORTNAME")), "", oRow.Item("USER_SHORTNAME"))
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")) USER_EMAIL = IIf(IsDBNull(oRow.Item("USER_EMAIL")), "", oRow.Item("USER_EMAIL"))
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE") USER_LANGUAGE = oRow.Item("USER_LANGUAGE")
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS") USER_IN_MODULE = oRow.Item("MODULE_ACCESS")
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN") USER_IS_ADMIN = oRow.Item("IS_ADMIN")
USERCOUNT_LOGGED_IN = DT_CHECKUSER_MODULE.Rows(0).Item("USERCOUNT_LOGGED_IN") USERCOUNT_LOGGED_IN = oRow.Item("USERCOUNT_LOGGED_IN")
ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE) ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE)
If USER_IN_MODULE = False Then If USER_IN_MODULE = False Then
LOGGER.Info(" - User: " & Environment.UserName & " nicht für Modul freigegben!") LOGGER.Info(" - User: " & Environment.UserName & " nicht für Modul freigegben!")
@@ -263,12 +238,12 @@ Public Class ClassInit
Exit Sub Exit Sub
End If End If
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN") USER_IS_ADMIN = oRow.Item("IS_ADMIN")
ClassLicence.Refresh_Licence() ClassLicence.Refresh_Licence()
Dim sql1 = "SELECT COUNT(T.GUID) FROM TBDD_DOKUMENTART T, TBDD_DOKUMENTART_MODULE T1 WHERE T.AKTIV = 1 AND T.GUID = T1.DOKART_ID AND T1.MODULE_ID = 1" Dim sql1 = "SELECT COUNT(T.GUID) FROM TBDD_DOKUMENTART T, TBDD_DOKUMENTART_MODULE T1 WHERE T.AKTIV = 1 AND T.GUID = T1.DOKART_ID AND T1.MODULE_ID = 1"
DOCTYPE_COUNT_ACTUAL = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True) DOCTYPE_COUNT_ACTUAL = DATABASE_ECM.GetScalarValue(sql1)
If DOCTYPE_COUNT_ACTUAL > LICENSE_DOCTYPE_COUNT Then If DOCTYPE_COUNT_ACTUAL > LICENSE_DOCTYPE_COUNT Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Ihre Anzahl von konfigurierbaren Dokumentarten ist limitiert auf: '" & LICENSE_DOCTYPE_COUNT.ToString & "'." & vbNewLine & "Bitte kontaktieren Sie Digital Data für weitere Details.", MsgBoxStyle.Information) MsgBox("Ihre Anzahl von konfigurierbaren Dokumentarten ist limitiert auf: '" & LICENSE_DOCTYPE_COUNT.ToString & "'." & vbNewLine & "Bitte kontaktieren Sie Digital Data für weitere Details.", MsgBoxStyle.Information)
@@ -276,24 +251,21 @@ Public Class ClassInit
MsgBox("Your amount of configurable documenttypes is limited to " & LICENSE_DOCTYPE_COUNT.ToString & " doctypes. You can not add more doctypes!" & vbNewLine & "Please contact Digital Data for further licensedetails", MsgBoxStyle.Information) MsgBox("Your amount of configurable documenttypes is limited to " & LICENSE_DOCTYPE_COUNT.ToString & " doctypes. You can not add more doctypes!" & vbNewLine & "Please contact Digital Data for further licensedetails", MsgBoxStyle.Information)
End If End If
End If End If
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE") USER_LANGUAGE = oRow.Item("USER_LANGUAGE")
oSql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')" oSql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')"
ClassDatabase.Execute_non_Query(oSql, True) DATABASE_ECM.ExecuteNonQuery(oSql)
oSql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE, CLIENT_ID) VALUES (" & USER_ID & ",'Global-Indexer', 1)" oSql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE, CLIENT_ID) VALUES (" & USER_ID & ",'Global-Indexer', 1)"
ClassDatabase.Execute_non_Query(oSql) DATABASE_ECM.ExecuteNonQuery(oSql)
oSql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE Upper(MODULE) = UPPER('Global-Indexer')" oSql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE Upper(MODULE) = UPPER('Global-Indexer')"
' Dim anzahl = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
'LOGGER.Info(" >> Anzahl Angemeldete User: " & anzahl.ToString)
' UserLoggedin = CInt(anzahl)
' UserLoggedin += 1
If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then
MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:") MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
LOGGER.Info(" >> Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Global Indexer!") LOGGER.Info(" >> Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Global Indexer!")
If USER_IS_ADMIN = False Then If USER_IS_ADMIN = False Then
'Anmeldung wieder herausnehmen 'Anmeldung wieder herausnehmen
oSql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Global-Indexer'" oSql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Global-Indexer'"
ClassDatabase.Execute_non_Query(oSql, True) DATABASE_ECM.ExecuteNonQuery(oSql)
LOGGER.Info(" - Wieder abgemeldet") LOGGER.Info(" - Wieder abgemeldet")
START_INCOMPLETE = True START_INCOMPLETE = True
End If End If

View File

@@ -1,15 +1,17 @@
Imports System.Globalization Imports System.Globalization
Imports DLLLicenseManager Imports DLLLicenseManager
Imports DigitalData.Modules.License
Public Class ClassLicence Public Class ClassLicence
Public Shared License_Date As Date Public Shared LicenseDate As Date
Private Shared _lizenzManager As ClassLicenseManager Public Shared LicenseManager As LicenseManagerLegacy
Public Shared Sub Refresh_Licence() Public Shared Sub Refresh_Licence()
Try Try
_lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "") LicenseManager = New LicenseManagerLegacy(LOGCONFIG, "#DigitalData35452!#", "")
Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1" Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1"
Dim licEncoded As String = ClassDatabase.Execute_Scalar(sql, MyConnectionString) Dim licEncoded As String = DATABASE_ECM.GetScalarValue(sql)
Dim licString As String = _lizenzManager.DecodeLicenseKey(licEncoded) Dim licString As String = LicenseManager.DecodeLicenseKey(licEncoded)
Dim licArray() As String = licString.ToString.Split("#") Dim licArray() As String = licString.ToString.Split("#")
If licEncoded <> "" Then If licEncoded <> "" Then
@@ -20,10 +22,10 @@ Public Class ClassLicence
LOGGER.Debug("License Date is {0}", licArray(1)) LOGGER.Debug("License Date is {0}", licArray(1))
License_Date = Date.ParseExact(licArray(1), "dd.MM.yyyy", CultureInfo.InvariantCulture) LicenseDate = Date.ParseExact(licArray(1), "dd.MM.yyyy", CultureInfo.InvariantCulture)
'License_Date = CDate(split(1)) 'License_Date = CDate(split(1))
If License_Date < Now Then If LicenseDate < Now Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & licArray(1) & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation) MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & licArray(1) & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation)
Else Else
@@ -51,9 +53,9 @@ Public Class ClassLicence
Public Shared Function license_is_Valid() Public Shared Function license_is_Valid()
If LICENSE_EXPIRED Then If LICENSE_EXPIRED Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & License_Date & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation) MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & LicenseDate & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation)
Else Else
MsgBox("Your license has expired!" & vbNewLine & "Last Valid Date: " & License_Date & vbNewLine & "Please contact Digital Data", MsgBoxStyle.Exclamation) MsgBox("Your license has expired!" & vbNewLine & "Last Valid Date: " & LicenseDate & vbNewLine & "Please contact Digital Data", MsgBoxStyle.Exclamation)
End If End If
Return False Return False

View File

@@ -1,215 +0,0 @@
Imports System.IO
Public Class ClassLogger
Public Shared DateiSpeicherort As String = Nothing
Public Shared DateiPrefix As String = ""
Public Shared Datei As IO.File = Nothing
Public Shared logDateiname As String = ""
Private Shared StreamWriter As IO.StreamWriter = Nothing
Private Shared HasInformedAboutError As Boolean = False
' eine Art Konstruktor
Public Shared Sub Init(ByVal speicherort As String, Optional ByVal prefix As String = "", Optional ByVal appendFile As Boolean = True)
' initialisiert den Speicherort
ClassLogger.SetSpeicherort(speicherort)
' wenn ein Prfix gesetzt wurde
If Not prefix = "" Then
' initialisiert das Prefix
ClassLogger.SetPrefix(prefix)
End If
Dim str As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt"
Dim anz As Integer = 1
Do While File.Exists(str)
Dim info As New FileInfo(str)
Dim length As Long = info.Length
If length > 5000000 Then
str = IO.Path.GetDirectoryName(str)
str = str & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & "(" & anz.ToString & ").txt"
anz = anz + 1
Else
Exit Do
End If
Loop
ClassLogger.logDateiname = str
If Not appendFile Then
' der Versuch die Datei zu löschen
'Try
' My.Computer.FileSystem.DeleteFile(ClassNILogger.Dateiname, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.DeletePermanently)
'Catch ex As Exception
' ' bei Fehler besteht kein Schreibrecht auf die Datei oder Datei existiert nicht
' ' ALSO: alles Okay soweit
'End Try
My.Computer.FileSystem.WriteAllText(ClassLogger.logDateiname, String.Empty, False)
End If
' testen ob sich die Datei öffnen und beschreiben lässt
'ClassNILogger.CheckIsLogWritable()
End Sub
' legt den Speicherort fest
Public Shared Sub SetSpeicherort(ByVal speicherort As String)
Dim f As New IO.DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Digital Data\Global Indexer\Log"))
If speicherort = "" Then
If f.Exists = False Then
IO.Directory.CreateDirectory(f.ToString())
End If
ClassLogger.DateiSpeicherort = f.ToString()
Else
ClassLogger.DateiSpeicherort = speicherort
End If
'Dim f As New IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\Log")
'If speicherort = "" Then
' If f.Exists = False Then
' IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "\Log")
' End If
' ClassLogger.DateiSpeicherort = My.Application.Info.DirectoryPath & "\Log\"
'Else
' ClassLogger.DateiSpeicherort = speicherort
'End If
End Sub
' legt das Prefix für den Dateinamen fest
Public Shared Sub SetPrefix(ByVal prefix As String)
ClassLogger.DateiPrefix = prefix
End Sub
Public Shared Sub Add(ByVal information As String, Optional ByVal ACHTUNG As Boolean = True)
If ClassLogger.OpenFile Then
Try
If ACHTUNG Then
ClassLogger.StreamWriter.WriteLine(Now.ToString & "# ATTENTION #: " & information)
Else
ClassLogger.StreamWriter.WriteLine(Now.ToString & information)
End If
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
End Try
Else
ClassLogger.ShowErrorMessage()
End If
End Sub
Public Shared Sub Add(ByVal ex As Exception)
If ClassLogger.OpenFile Then
Try
ClassLogger.StreamWriter.WriteLine(Now.ToString & "##### Exception ####")
ClassLogger.StreamWriter.WriteLine(Now.ToString & "##### Fehler: " & ex.Message & " Source [" & ex.Source & "]")
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
End Try
Else
ClassLogger.ShowErrorMessage()
End If
End Sub
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile()
Try
' wenn ein Speicherort festgelegt wurde
If Not ClassLogger.DateiSpeicherort = Nothing Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile(ByVal DateiSpeicherort As String, ByVal DateiPrefix As String)
Try
' wenn ein Speicherort festgelegt wurde
If Not DateiSpeicherort = Nothing And ClassLogger.CheckIsLogWritable() Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' schliesst die geöffnete Datei
Private Shared Sub CloseFile()
' wenn eine Datei geöffnet ist
If ClassLogger.StreamWriter IsNot Nothing Then
' die Datei schliessen
ClassLogger.StreamWriter.Close()
ClassLogger.StreamWriter = Nothing
End If
End Sub
Public Shared Function CheckIsLogWritable()
If ClassLogger.OpenFile Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Public Shared Function CheckIsLogWritable(ByVal vDateiSpeicherort As String, ByVal vDateiPrefix As String)
If ClassLogger.OpenFile(vDateiSpeicherort, vDateiPrefix) Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Private Shared Sub ShowErrorMessage()
If Not ClassLogger.HasInformedAboutError Then
MsgBox("Beim Öffnen der Logdatei ist ein Fehler aufgetreten. Bitte stellen Sie sicher das Sie sowohl über entsprechende Schreibrechte im Verzeichnis, als auch über ausreichend Speicherplatz zum Speichern der Logdatei verfügen." & _
vbNewLine & vbNewLine & "Es wird keine Logdatei angelegt oder beschrieben." & vbNewLine & vbNewLine & "Im folgenden werden Sie über Fehler, den Log betreffend nicht weiter informiert, um den Ablauf von " & My.Application.Info.ProductName & " nicht zu stören.", _
MsgBoxStyle.Information, "Unexpected error inm Öffnen der Logdatei")
ClassLogger.HasInformedAboutError = True
End If
End Sub
End Class

View File

@@ -1,4 +1,6 @@
Public Class ClassParamRefresh Imports DigitalData.Modules.Database
Public Class ClassParamRefresh
Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable) Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable)
If DT_CHECKUSER.Rows.Count = 1 Then If DT_CHECKUSER.Rows.Count = 1 Then
USERCOUNT_LOGGED_IN = DT_CHECKUSER.Rows(0).Item("USERCOUNT_LOGGED_IN") USERCOUNT_LOGGED_IN = DT_CHECKUSER.Rows(0).Item("USERCOUNT_LOGGED_IN")
@@ -7,14 +9,6 @@
Catch ex As Exception Catch ex As Exception
WORKING_MODE = "" WORKING_MODE = ""
End Try End Try
'Try
' ADDITIONAL_TITLE = DT_CHECKUSER.Rows(0).Item("ADDITIONAL_TITLE")
' If ADDITIONAL_TITLE = String.Empty Then
' ADDITIONAL_TITLE = My.Application.Info.ProductName
' End If
'Catch ex As Exception
' ADDITIONAL_TITLE = My.Application.Info.ProductName
'End Try
Dim oSplitWorkMode As String() = WORKING_MODE.Split("#") Dim oSplitWorkMode As String() = WORKING_MODE.Split("#")
@@ -23,26 +17,26 @@
For Each oMode In oSplitWorkMode For Each oMode In oSplitWorkMode
LOGGER.Debug($"oWorkingMode Parameter: {oMode}") LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
If oMode.StartsWith("IDB_CONID!") Then If oMode.StartsWith("IDB_CONID!") Then
Dim CON_ID = oMode.Replace("GLOBIX.IDB_CONID!", "") Dim oConnectionId = oMode.Replace("GLOBIX.IDB_CONID!", "")
Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID) Dim oConString = DATABASE_ECM.Get_ConnectionStringforID(oConnectionId)
CONNECTION_STRING_IDB = oConString CONNECTION_STRING_IDB = oConString
DATABASE_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
Dim oSQL = $"SELECT * FROM TBIDB_ATTRIBUTE" Dim oSQL = $"SELECT * FROM TBIDB_ATTRIBUTE"
Dim oDT As DataTable = ClassDatabase.Return_Datatable_CS(oSQL, CONNECTION_STRING_IDB) Dim oDT As DataTable = DATABASE_IDB.GetDatatable(oSQL)
If Not IsNothing(oDT) Then If Not IsNothing(oDT) Then
If oDT.Rows.Count > 0 Then If oDT.Rows.Count > 0 Then
IDB_ACTIVE = True IDB_ACTIVE = True
Else Else
LOGGER.Warn($"Got an IDB-ConnID [{CON_ID}] but check DTAttribute.Row.Count is [{oDT.Rows.Count}]!!") LOGGER.Warn($"Got an IDB-ConnID [{oConnectionId}] but check DTAttribute.Row.Count is [{oDT.Rows.Count}]!!")
End If End If
Else Else
LOGGER.Warn($"Got an IDB-ConnID [{CON_ID}] but check DT Attribute is Nothing!!") LOGGER.Warn($"Got an IDB-ConnID [{oConnectionId}] but check DT Attribute is Nothing!!")
End If End If
ElseIf oMode.StartsWith("IDB.LOG_INDEX") Then ElseIf oMode.StartsWith("IDB.LOG_INDEX") Then
IDB_LOG_INDEX = oMode.Replace("IDB.LOG_INDEX!", "") IDB_LOG_INDEX = oMode.Replace("IDB.LOG_INDEX!", "")
'ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
' Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
' RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
Else Else
LOGGER.Info($"Wrong oMode: {oMode}") LOGGER.Info($"Wrong oMode: {oMode}")
End If End If

View File

@@ -1,6 +1,7 @@
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DevExpress.XtraEditors Imports DevExpress.XtraEditors
Imports DigitalData.Controls.LookupGrid Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language
Imports DigitalData.GUIs.GlobalIndexer Imports DigitalData.GUIs.GlobalIndexer
Imports WINDREAMLib Imports WINDREAMLib
@@ -230,16 +231,16 @@ Public Class ClassPatterns
If oLookupControl.Properties.MultiSelect Then If oLookupControl.Properties.MultiSelect Then
Select Case oFoundType Select Case oFoundType
Case "INTEGER" Case ClassConstants.INDEX_TYPE_INTEGER
oValue = String.Join(",", oLookupControl.Properties.SelectedValues) oValue = String.Join(",", oLookupControl.Properties.SelectedValues)
Case "VARCHAR" Case ClassConstants.INDEX_TYPE_VARCHAR
Dim oWrapped = oLookupControl.Properties.SelectedValues Dim oWrapped = oLookupControl.Properties.SelectedValues
oValue = String.Join(",", oWrapped) oValue = String.Join(",", oWrapped)
Case Else Case Else
LOGGER.Warn("Lookup Control with [{0}] is not supported!", oFoundType) LOGGER.Warn("Lookup Control with [{0}] is not supported!", oFoundType)
End Select End Select
Else Else
oValue = NotNull(oLookupControl.Properties.SelectedValues.Item(0), "") oValue = Utils.NotNull(oLookupControl.Properties.SelectedValues.Item(0), "")
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)

View File

@@ -163,6 +163,9 @@
<Reference Include="DigitalData.Modules.Config"> <Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Filesystem, Version=1.0.1.1, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Filesystem, Version=1.0.1.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll</HintPath>
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
@@ -171,6 +174,9 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.License">
<HintPath>..\..\DDMonorepo\Modules.License\bin\Debug\DigitalData.Modules.License.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.0.0.1, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Logging, Version=2.0.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
@@ -185,10 +191,6 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\Modules.Windream\bin\Debug\DigitalData.Modules.Windream.dll</HintPath> <HintPath>..\..\DDMonorepo\Modules.Windream\bin\Debug\DigitalData.Modules.Windream.dll</HintPath>
</Reference> </Reference>
<Reference Include="DLLLicenseManager, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib"> <Reference Include="Interop.WINDREAMLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath> <HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes> <EmbedInteropTypes>False</EmbedInteropTypes>
@@ -262,19 +264,15 @@
<Compile Include="ClassEncryption.vb" /> <Compile Include="ClassEncryption.vb" />
<Compile Include="ClassFilehandle.vb" /> <Compile Include="ClassFilehandle.vb" />
<Compile Include="ClassFolderWatcher.vb" /> <Compile Include="ClassFolderWatcher.vb" />
<Compile Include="ClassFormFunctions.vb" />
<Compile Include="ClassHelper.vb" />
<Compile Include="ClassIDBData.vb" /> <Compile Include="ClassIDBData.vb" />
<Compile Include="ClassIndexFunctions.vb" /> <Compile Include="ClassIndexFunctions.vb" />
<Compile Include="ClassInit.vb" /> <Compile Include="ClassInit.vb" />
<Compile Include="ClassLayout.vb" /> <Compile Include="ClassLayout.vb" />
<Compile Include="ClassLicence.vb" /> <Compile Include="ClassLicence.vb" />
<Compile Include="ClassLogger.vb" />
<Compile Include="ClassParamRefresh.vb" /> <Compile Include="ClassParamRefresh.vb" />
<Compile Include="ClassPatterns.vb" /> <Compile Include="ClassPatterns.vb" />
<Compile Include="ClassPostprocessing.vb" /> <Compile Include="ClassPostprocessing.vb" />
<Compile Include="ClassWindowAPI.vb" /> <Compile Include="ClassWindowAPI.vb" />
<Compile Include="ClassEmailHeaderExtractor.vb" />
<Compile Include="clsHotkey.vb" /> <Compile Include="clsHotkey.vb" />
<Compile Include="frmAdministration.Designer.vb"> <Compile Include="frmAdministration.Designer.vb">
<DependentUpon>frmAdministration.vb</DependentUpon> <DependentUpon>frmAdministration.vb</DependentUpon>
@@ -385,7 +383,6 @@
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="ModuleCURRENT.vb" /> <Compile Include="ModuleCURRENT.vb" />
<Compile Include="ModuleHelpers.vb" />
<Compile Include="ModuleRuntime.vb" /> <Compile Include="ModuleRuntime.vb" />
<Compile Include="ModuleUserSavings.vb" /> <Compile Include="ModuleUserSavings.vb" />
<Compile Include="ModuleWindowHandles.vb" /> <Compile Include="ModuleWindowHandles.vb" />
@@ -780,6 +777,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Resources\DD_Icons_ICO_GLOBIX_1.ico" /> <Content Include="Resources\DD_Icons_ICO_GLOBIX_1.ico" />
<Content Include="Changelog.txt" />
<None Include="Resources\itemtypechecked.svg" /> <None Include="Resources\itemtypechecked.svg" />
<None Include="Resources\trackingchanges_next.svg" /> <None Include="Resources\trackingchanges_next.svg" />
<None Include="Resources\GLOBIX_short.png" /> <None Include="Resources\GLOBIX_short.png" />

View File

@@ -4,90 +4,83 @@ Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Messaging Imports DigitalData.Modules.Messaging
Module ModuleCURRENT Module ModuleCURRENT
Public ERROR_STATE As String Public Property TEMP_FILES As List(Of String) = New List(Of 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 CONFIG As ConfigManager(Of ClassConfig) Public Property ERROR_STATE As String
Public LOGCONFIG As LogConfig Public Property START_INCOMPLETE As Boolean = False
Public LOGGER As Logger Public Property CURRENT_FILENAME As String
Public FILESYSTEM As File Public Property CURRENT_NEWFILENAME As String
Public EMAIL As Email2 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 Property CONFIG As ConfigManager(Of ClassConfig)
Public CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default" Public Property LOGCONFIG As LogConfig
Public CURRENT_LASTDOKART As String = "" Public Property LOGGER As Logger
Public CURRENT_INDEXMAN As Integer Public Property FILESYSTEM As File
Public CURRENT_INDEXAUTO As Integer Public Property EMAIL As Email2
Public CURRENT_SQL_CONFIG As String
Public VERSION_DELIMITER As String Public Property CURRENT_DOKART_ID As Integer
Public FILE_DELIMITER As String Public Property CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default"
Public CURRENT_MESSAGEID As String Public Property CURRENT_LASTDOKART As String = ""
Public CURRENT_MESSAGEDATE As String Public Property CURRENT_INDEXMAN As Integer
Public CURRENT_MESSAGESUBJECT As String Public Property CURRENT_INDEXAUTO As Integer
Public CURRENT_ISATTACHMENT As Boolean = False
Public USER_ID Public Property VERSION_DELIMITER As String
Public USER_IN_MODULE As Boolean = False Public Property FILE_DELIMITER As String
Public USER_IS_ADMIN As Boolean = False 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 Property USER_ID
Public USER_PRENAME As String = "" Public Property USER_IN_MODULE As Boolean = False
Public USER_SURNAME As String = "" Public Property USER_IS_ADMIN As Boolean = False
Public USER_EMAIL As String = ""
Public USER_LANGUAGE As String = "DE"
Public USER_USERNAME As String = ""
Public USERCOUNT_LOGGED_IN As Integer = 0
Public CURRENT_FOLDERWATCH As String = "" Public Property USER_SHORTNAME As String = ""
Public CURRENT_SCAN_FOLDERWATCH 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 Property FWFunction_STARTED As Boolean = False
Public CURR_DOKART_OBJECTTYPE As String
Public CURRENT_WD_TEMPSEARCH As String = ""
Public LICENSE_EXPIRED As Boolean = False Public Property CURR_DOKART_WD_DIRECT As Boolean = False
Public LICENSE_COUNT As Integer = 0 Public Property CURR_DOKART_OBJECTTYPE As String
Public LICENSE_DOCTYPE_COUNT As Integer = 0
Public DOCTYPE_COUNT_ACTUAL As Integer = 0
Public LicenseHotKey As Integer = 0
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 Property INDEXING_ACTIVE As Boolean = False
Public MULTIINDEXING_ACTIVE As Boolean = False Public Property MULTIINDEXING_ACTIVE As Boolean = False
Public ABORT_INDEXING As Boolean = False Public Property ABORT_INDEXING As Boolean = False
Public DTACTUAL_FILES As DataTable Public Property DTACTUAL_FILES As DataTable
Public DTEXCLUDE_FILES As DataTable Public Property DTEXCLUDE_FILES As DataTable
Public DTTBGI_REGEX_DOCTYPE As DataTable Public Property DTTBGI_REGEX_DOCTYPE As DataTable
Public CURRENT_SQLRESULT As String Public Property CURRENT_SQLRESULT As String
Public DTSQL_RESULT As DataTable Public Property DTSQL_RESULT As DataTable
Public TEMP_FILES As List(Of String) = New List(Of String)
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 Property VIEWER_LICENSE As String = ""
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
End Module End Module

View File

@@ -1,15 +0,0 @@
Module ModuleHelpers
''' <summary>
''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist.
''' </summary>
''' <param name="value">Der zu überprüfende Wert</param>
''' <param name="defaultValue">Der Standard Wert</param>
''' <returns>value oder wenn dieser "Null" ist, defaultValue</returns>
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

View File

@@ -1,10 +1,12 @@
Imports System.IO Imports System.IO
Imports System.Xml Imports System.Xml
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Windream Imports DigitalData.Modules.Windream
Module ModuleRuntime Module ModuleRuntime
'Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml") 'Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
Public Const USER_CONFIG_FILE = "UserConfig.xml" Public Const USER_CONFIG_FILE = "UserConfig.xml"
Public Const COMPUTER_CONFIG_FILE = "ComputerConfig.xml" Public Const COMPUTER_CONFIG_FILE = "ComputerConfig.xml"
Public Const WINDREAM_BASEPATH = "\\windream\objects"
Public MyConnectionString As String = "" Public MyConnectionString As String = ""
Public LogErrorsOnly As Boolean = True Public LogErrorsOnly As Boolean = True
@@ -14,7 +16,7 @@ Module ModuleRuntime
Public FW_started As Boolean = False Public FW_started As Boolean = False
Public IDB_ACTIVE As Boolean = False Public IDB_ACTIVE As Boolean = False
Public WORKING_MODE As String Public WORKING_MODE As String
Public CONNECTION_STRING_IDB As String Public Property CONNECTION_STRING_IDB As String
Public IDBData As ClassIDBData Public IDBData As ClassIDBData
Public IDB_USES_WMFILESTORE As Boolean = False Public IDB_USES_WMFILESTORE As Boolean = False
@@ -23,5 +25,8 @@ Module ModuleRuntime
Public IDB_DOC_ID As Int64 Public IDB_DOC_ID As Int64
Public IDB_LOG_INDEX As String Public IDB_LOG_INDEX As String
Public WINDREAM As Windream Public Property WINDREAM As Windream
Public Property DATABASE_ECM As MSSQLServer
Public Property DATABASE_IDB As MSSQLServer
End Module End Module

View File

@@ -15,7 +15,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyCompany("Digital Data")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Global Indexer")> <Assembly: AssemblyProduct("Global Indexer")>
<Assembly: AssemblyCopyright("Copyright © 2021")> <Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("2420")> <Assembly: AssemblyTrademark("2500")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.2.6")> <Assembly: AssemblyVersion("2.5.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguageAttribute("")> <Assembly: NeutralResourcesLanguageAttribute("")>

View File

@@ -139,10 +139,10 @@ Partial Class frmAdministration
Me.GridColumn8 = New DevExpress.XtraGrid.Columns.GridColumn() Me.GridColumn8 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label35 = New System.Windows.Forms.Label() Me.Label35 = New System.Windows.Forms.Label()
Me.SplitContainerControl4 = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerControl4 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.GridControlProfile = New DevExpress.XtraGrid.GridControl()
Me.TBDD_DOKUMENTARTBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBDD_DOKUMENTARTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.MyDataset = New Global_Indexer.MyDataset() Me.MyDataset = New Global_Indexer.MyDataset()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.GridViewProfile = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colAKTIV = New DevExpress.XtraGrid.Columns.GridColumn() Me.colAKTIV = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colBEZEICHNUNG = New DevExpress.XtraGrid.Columns.GridColumn() Me.colBEZEICHNUNG = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label3 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label()
@@ -371,10 +371,10 @@ Partial Class frmAdministration
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl4.SuspendLayout() Me.SplitContainerControl4.SuspendLayout()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControlProfile, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_DOKUMENTARTBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBDD_DOKUMENTARTBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewProfile, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout() Me.XtraTabControl1.SuspendLayout()
Me.XtraTabPageProfiles.SuspendLayout() Me.XtraTabPageProfiles.SuspendLayout()
@@ -974,28 +974,28 @@ Partial Class frmAdministration
' '
resources.ApplyResources(Me.SplitContainerControl4, "SplitContainerControl4") resources.ApplyResources(Me.SplitContainerControl4, "SplitContainerControl4")
Me.SplitContainerControl4.Name = "SplitContainerControl4" Me.SplitContainerControl4.Name = "SplitContainerControl4"
Me.SplitContainerControl4.Panel1.Controls.Add(Me.GridControl1) Me.SplitContainerControl4.Panel1.Controls.Add(Me.GridControlProfile)
Me.SplitContainerControl4.Panel1.Controls.Add(Me.Label3) Me.SplitContainerControl4.Panel1.Controls.Add(Me.Label3)
resources.ApplyResources(Me.SplitContainerControl4.Panel1, "SplitContainerControl4.Panel1") resources.ApplyResources(Me.SplitContainerControl4.Panel1, "SplitContainerControl4.Panel1")
Me.SplitContainerControl4.Panel2.Controls.Add(Me.XtraTabControl1) Me.SplitContainerControl4.Panel2.Controls.Add(Me.XtraTabControl1)
resources.ApplyResources(Me.SplitContainerControl4.Panel2, "SplitContainerControl4.Panel2") resources.ApplyResources(Me.SplitContainerControl4.Panel2, "SplitContainerControl4.Panel2")
Me.SplitContainerControl4.SplitterPosition = 224 Me.SplitContainerControl4.SplitterPosition = 224
' '
'GridControl1 'GridControlProfile
' '
Me.GridControl1.CausesValidation = False Me.GridControlProfile.CausesValidation = False
Me.GridControl1.DataSource = Me.TBDD_DOKUMENTARTBindingSource Me.GridControlProfile.DataSource = Me.TBDD_DOKUMENTARTBindingSource
resources.ApplyResources(Me.GridControl1, "GridControl1") resources.ApplyResources(Me.GridControlProfile, "GridControlProfile")
Me.GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean) Me.GridControlProfile.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
Me.GridControl1.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles) Me.GridControlProfile.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
Me.GridControl1.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout) Me.GridControlProfile.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
Me.GridControl1.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode) Me.GridControlProfile.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
Me.GridControl1.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation) Me.GridControlProfile.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
Me.GridControl1.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType) Me.GridControlProfile.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
Me.GridControl1.MainView = Me.GridView1 Me.GridControlProfile.MainView = Me.GridViewProfile
Me.GridControl1.Name = "GridControl1" Me.GridControlProfile.Name = "GridControlProfile"
Me.GridControl1.ShowOnlyPredefinedDetails = True Me.GridControlProfile.ShowOnlyPredefinedDetails = True
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) Me.GridControlProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewProfile})
' '
'TBDD_DOKUMENTARTBindingSource 'TBDD_DOKUMENTARTBindingSource
' '
@@ -1007,24 +1007,24 @@ Partial Class frmAdministration
Me.MyDataset.DataSetName = "MyDataset" Me.MyDataset.DataSetName = "MyDataset"
Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
' '
'GridView1 'GridViewProfile
' '
Me.GridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.PaleTurquoise Me.GridViewProfile.Appearance.EvenRow.BackColor = System.Drawing.Color.PaleTurquoise
Me.GridView1.Appearance.EvenRow.Options.UseBackColor = True Me.GridViewProfile.Appearance.EvenRow.Options.UseBackColor = True
Me.GridView1.Appearance.FocusedRow.BackColor = System.Drawing.Color.Khaki Me.GridViewProfile.Appearance.FocusedRow.BackColor = System.Drawing.Color.Khaki
Me.GridView1.Appearance.FocusedRow.Options.UseBackColor = True Me.GridViewProfile.Appearance.FocusedRow.Options.UseBackColor = True
Me.GridView1.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colAKTIV, Me.colBEZEICHNUNG}) Me.GridViewProfile.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colAKTIV, Me.colBEZEICHNUNG})
Me.GridView1.GridControl = Me.GridControl1 Me.GridViewProfile.GridControl = Me.GridControlProfile
Me.GridView1.Name = "GridView1" Me.GridViewProfile.Name = "GridViewProfile"
Me.GridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False] Me.GridViewProfile.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False] Me.GridViewProfile.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.Editable = False Me.GridViewProfile.OptionsBehavior.Editable = False
Me.GridView1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] Me.GridViewProfile.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsSelection.EnableAppearanceFocusedCell = False Me.GridViewProfile.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridView1.OptionsView.EnableAppearanceEvenRow = True Me.GridViewProfile.OptionsView.EnableAppearanceEvenRow = True
Me.GridView1.OptionsView.ShowAutoFilterRow = True Me.GridViewProfile.OptionsView.ShowAutoFilterRow = True
Me.GridView1.OptionsView.ShowColumnHeaders = False Me.GridViewProfile.OptionsView.ShowColumnHeaders = False
Me.GridView1.OptionsView.ShowGroupPanel = False Me.GridViewProfile.OptionsView.ShowGroupPanel = False
' '
'colAKTIV 'colAKTIV
' '
@@ -2493,10 +2493,10 @@ Partial Class frmAdministration
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl4.ResumeLayout(False) Me.SplitContainerControl4.ResumeLayout(False)
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControlProfile, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBDD_DOKUMENTARTBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBDD_DOKUMENTARTBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewProfile, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False) Me.XtraTabControl1.ResumeLayout(False)
Me.XtraTabPageProfiles.ResumeLayout(False) Me.XtraTabPageProfiles.ResumeLayout(False)
@@ -2660,8 +2660,8 @@ Partial Class frmAdministration
Friend WithEvents VARIANTComboBox As System.Windows.Forms.ComboBox Friend WithEvents VARIANTComboBox As System.Windows.Forms.ComboBox
Friend WithEvents btnAddWindowsVariable As System.Windows.Forms.Button Friend WithEvents btnAddWindowsVariable As System.Windows.Forms.Button
Friend WithEvents lblWDINDEX As System.Windows.Forms.Label Friend WithEvents lblWDINDEX As System.Windows.Forms.Label
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl Friend WithEvents GridControlProfile As DevExpress.XtraGrid.GridControl
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents GridViewProfile As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents colBEZEICHNUNG As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colBEZEICHNUNG As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents gridAssignedGroups As DevExpress.XtraGrid.GridControl Friend WithEvents gridAssignedGroups As DevExpress.XtraGrid.GridControl
Friend WithEvents viewAssignedGroups As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents viewAssignedGroups As DevExpress.XtraGrid.Views.Grid.GridView

View File

@@ -1267,7 +1267,7 @@
<metadata name="MyDataset.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="MyDataset.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<data name="GridControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="GridControlProfile.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v19.2"> <data name="GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v19.2">
@@ -1288,7 +1288,7 @@
<data name="GridControl1.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v19.2"> <data name="GridControl1.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v19.2">
<value>Application</value> <value>Application</value>
</data> </data>
<data name="GridControl1.Location" type="System.Drawing.Point, System.Drawing"> <data name="GridControlProfile.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 30</value> <value>0, 30</value>
</data> </data>
<data name="colAKTIV.Caption" xml:space="preserve"> <data name="colAKTIV.Caption" xml:space="preserve">
@@ -1312,22 +1312,22 @@
<data name="colBEZEICHNUNG.Width" type="System.Int32, mscorlib"> <data name="colBEZEICHNUNG.Width" type="System.Int32, mscorlib">
<value>277</value> <value>277</value>
</data> </data>
<data name="GridControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="GridControlProfile.Size" type="System.Drawing.Size, System.Drawing">
<value>224, 587</value> <value>224, 587</value>
</data> </data>
<data name="GridControl1.TabIndex" type="System.Int32, mscorlib"> <data name="GridControlProfile.TabIndex" type="System.Int32, mscorlib">
<value>93</value> <value>93</value>
</data> </data>
<data name="&gt;&gt;GridControl1.Name" xml:space="preserve"> <data name="&gt;&gt;GridControlProfile.Name" xml:space="preserve">
<value>GridControl1</value> <value>GridControlProfile</value>
</data> </data>
<data name="&gt;&gt;GridControl1.Type" xml:space="preserve"> <data name="&gt;&gt;GridControlProfile.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;GridControl1.Parent" xml:space="preserve"> <data name="&gt;&gt;GridControlProfile.Parent" xml:space="preserve">
<value>SplitContainerControl4.Panel1</value> <value>SplitContainerControl4.Panel1</value>
</data> </data>
<data name="&gt;&gt;GridControl1.ZOrder" xml:space="preserve"> <data name="&gt;&gt;GridControlProfile.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="Label3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="Label3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
@@ -7081,10 +7081,10 @@ Die erhaltenen Werte können in Indizes geschrieben oder zur Benennung der Datei
<data name="&gt;&gt;MyDataset.Type" xml:space="preserve"> <data name="&gt;&gt;MyDataset.Type" xml:space="preserve">
<value>Global_Indexer.MyDataset, MyDataset.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>Global_Indexer.MyDataset, MyDataset.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
<data name="&gt;&gt;GridView1.Name" xml:space="preserve"> <data name="&gt;&gt;GridViewProfile.Name" xml:space="preserve">
<value>GridView1</value> <value>GridViewProfile</value>
</data> </data>
<data name="&gt;&gt;GridView1.Type" xml:space="preserve"> <data name="&gt;&gt;GridViewProfile.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;colAKTIV.Name" xml:space="preserve"> <data name="&gt;&gt;colAKTIV.Name" xml:space="preserve">

View File

@@ -106,7 +106,7 @@ Public Class frmAdministration
Me.TBDD_DOKUMENTARTTableAdapter.FillByModuleGI(Me.MyDataset.TBDD_DOKUMENTART) Me.TBDD_DOKUMENTARTTableAdapter.FillByModuleGI(Me.MyDataset.TBDD_DOKUMENTART)
If MyDataset.TBDD_DOKUMENTART.Rows.Count > 0 Then If MyDataset.TBDD_DOKUMENTART.Rows.Count > 0 Then
GridView1.SelectRow(1) GridViewProfile.SelectRow(1)
EnableControls(XtraTabPageProfiles) EnableControls(XtraTabPageProfiles)
End If End If
If Me.DOKART_GUIDTextBox.Text <> "" Then If Me.DOKART_GUIDTextBox.Text <> "" Then
@@ -144,7 +144,7 @@ Public Class frmAdministration
RibbonPageGroupAutoIndex.Enabled = True RibbonPageGroupAutoIndex.Enabled = True
Case XtraTabPageFolderPath.Name Case XtraTabPageFolderPath.Name
Try Try
Dim Dt As DataTable = ClassDatabase.Return_Datatable("select NAME from VWDDINDICES_MAN_AUTO_ACTIVE where DOCTYPE_ID = " & DOKART_GUIDTextBox.Text & " order by NAME") Dim Dt As DataTable = DATABASE_ECM.GetDatatable("select NAME from VWDDINDICES_MAN_AUTO_ACTIVE where DOCTYPE_ID = " & DOKART_GUIDTextBox.Text & " order by NAME")
cmbCrFolderIndex.DataSource = Dt cmbCrFolderIndex.DataSource = Dt
cmbCrFolderIndex.DisplayMember = Dt.Columns(0).ColumnName cmbCrFolderIndex.DisplayMember = Dt.Columns(0).ColumnName
Catch ex As Exception Catch ex As Exception
@@ -210,10 +210,10 @@ Public Class frmAdministration
If IsInsert = True Then If IsInsert = True Then
Dim oNewID As Integer Dim oNewID As Integer
oNewID = ClassDatabase.Execute_Scalar("SELECT MAX(GUID) FROM TBDD_DOKUMENTART", MyConnectionString) oNewID = DATABASE_ECM.GetScalarValue("SELECT MAX(GUID) FROM TBDD_DOKUMENTART")
If IsNumeric(oNewID) Then If IsNumeric(oNewID) Then
Dim osql = $"EXEC PRDD_CHECK_REL_DOCTYPE_MODULE 'GLOBIX', {oNewID}" Dim osql = $"EXEC PRDD_CHECK_REL_DOCTYPE_MODULE 'GLOBIX', {oNewID}"
If ClassDatabase.Execute_non_Query(osql) = False Then If DATABASE_ECM.ExecuteNonQuery(osql) = False Then
MsgBox("Fehler beim zuweisen des neuen Profils zum Modul Global-Indexer!", MsgBoxStyle.Critical, Text) MsgBox("Fehler beim zuweisen des neuen Profils zum Modul Global-Indexer!", MsgBoxStyle.Critical, Text)
End If End If
End If End If
@@ -270,7 +270,7 @@ Public Class frmAdministration
Save_Dokumentart() Save_Dokumentart()
Try Try
Dim sql = "SELECT COUNT(T.GUID) FROM TBDD_DOKUMENTART T, TBDD_DOKUMENTART_MODULE T1 WHERE T.AKTIV = 1 AND T.GUID = T1.DOKART_ID AND T1.MODULE_ID = 1" Dim sql = "SELECT COUNT(T.GUID) FROM TBDD_DOKUMENTART T, TBDD_DOKUMENTART_MODULE T1 WHERE T.AKTIV = 1 AND T.GUID = T1.DOKART_ID AND T1.MODULE_ID = 1"
Dim DoctypeCount = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) Dim DoctypeCount = DATABASE_ECM.GetScalarValue(sql)
If DoctypeCount = LICENSE_DOCTYPE_COUNT Then If DoctypeCount = LICENSE_DOCTYPE_COUNT Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Ihre Anzahl von konfigurierbaren Dokuemntarten ist limitiert auf: '" & LICENSE_DOCTYPE_COUNT.ToString & "'. Sie können nun keine Dokumentart hinzufügen!" & vbNewLine & "Bitte kontaktieren Sie Digital Data für weitere Details.", MsgBoxStyle.Information) MsgBox("Ihre Anzahl von konfigurierbaren Dokuemntarten ist limitiert auf: '" & LICENSE_DOCTYPE_COUNT.ToString & "'. Sie können nun keine Dokumentart hinzufügen!" & vbNewLine & "Bitte kontaktieren Sie Digital Data für weitere Details.", MsgBoxStyle.Information)
@@ -300,7 +300,7 @@ Public Class frmAdministration
End Sub End Sub
Private Sub btnadd_Click(sender As Object, e As EventArgs) Private Sub btnadd_Click(sender As Object, e As EventArgs)
Dim osql = $"EXEC PRDD_CHECK_REL_DOCTYPE_MODULE 'GLOBIX',{DOKART_GUIDTextBox.Text}" Dim osql = $"EXEC PRDD_CHECK_REL_DOCTYPE_MODULE 'GLOBIX',{DOKART_GUIDTextBox.Text}"
ClassDatabase.Execute_non_Query(osql) DATABASE_ECM.ExecuteNonQuery(osql)
LoadGlobix_Doctypes() LoadGlobix_Doctypes()
End Sub End Sub
@@ -757,7 +757,9 @@ Public Class frmAdministration
End Sub End Sub
Sub LoadGlobix_Doctypes() Sub LoadGlobix_Doctypes()
Dim oFocusedRow = GridViewProfile.FocusedRowHandle
Load_Dokart() Load_Dokart()
GridViewProfile.FocusedRowHandle = oFocusedRow
End Sub End Sub
Private Sub btncrFolder_delete_Click(sender As Object, e As EventArgs) Handles btncrFolder_delete.Click Private Sub btncrFolder_delete_Click(sender As Object, e As EventArgs) Handles btncrFolder_delete.Click
@@ -846,9 +848,9 @@ Public Class frmAdministration
If GUIDTextBox1.Text <> "" Then If GUIDTextBox1.Text <> "" Then
Try Try
Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & GUIDTextBox1.Text Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & GUIDTextBox1.Text
If ClassDatabase.Execute_non_Query(del) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
del = "DELETE FROM TBDD_INDEX_MAN WHERE GUID = " & GUIDTextBox1.Text del = "DELETE FROM TBDD_INDEX_MAN WHERE GUID = " & GUIDTextBox1.Text
If ClassDatabase.Execute_non_Query(del) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text) Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text)
End If End If
End If End If
@@ -959,7 +961,7 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then If result = MsgBoxResult.Yes Then
Try Try
Dim del As String = " EXEC PRDD_GLOBIX_DELETE_DOCTYPE " & DOKART_GUIDTextBox.Text Dim del As String = " EXEC PRDD_GLOBIX_DELETE_DOCTYPE " & DOKART_GUIDTextBox.Text
If ClassDatabase.Execute_non_Query(del, True) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_Dokart() Load_Dokart()
TBDD_DOKUMENTARTBindingSource.ResetBindings(True) TBDD_DOKUMENTARTBindingSource.ResetBindings(True)
@@ -986,9 +988,9 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then If result = MsgBoxResult.Yes Then
Try Try
Dim oGlobixId = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'", MyConnectionString) Dim oGlobixId = DATABASE_ECM.GetScalarValue("SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'")
Dim copy = "exec PRDD_COPY_DOKPROFILE " & DOKART_GUIDTextBox.Text & ", " & oGlobixId Dim copy = "exec PRDD_COPY_DOKPROFILE " & DOKART_GUIDTextBox.Text & ", " & oGlobixId
If ClassDatabase.Execute_non_Query(copy, True) Then If DATABASE_ECM.ExecuteNonQuery(copy) Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Das Profil wurde erfolgreich kopiert und auf INAKTIV gesetzt." & vbNewLine & "Bitte beachten Sie:" & vbNewLine & "- Das Profil wurde keiner Usergruppe zugeordnet.", MsgBoxStyle.Information) MsgBox("Das Profil wurde erfolgreich kopiert und auf INAKTIV gesetzt." & vbNewLine & "Bitte beachten Sie:" & vbNewLine & "- Das Profil wurde keiner Usergruppe zugeordnet.", MsgBoxStyle.Information)
@@ -1041,7 +1043,7 @@ Public Class frmAdministration
Private Sub ToolStripButton9_Click(sender As Object, e As EventArgs) Private Sub ToolStripButton9_Click(sender As Object, e As EventArgs)
Try Try
Dim oSQL = $"DELETE FROM TBGI_REGEX_DOCTYPE WHERE GUID = {TextBox3.Text}" Dim oSQL = $"DELETE FROM TBGI_REGEX_DOCTYPE WHERE GUID = {TextBox3.Text}"
If ClassDatabase.Execute_non_Query(oSQL, True) = True Then If DATABASE_ECM.ExecuteNonQuery(oSQL) = True Then
Me.TBGI_REGEX_DOCTYPETableAdapter.Fill(Me.MyDataset.TBGI_REGEX_DOCTYPE, DOKART_GUIDTextBox.Text) Me.TBGI_REGEX_DOCTYPETableAdapter.Fill(Me.MyDataset.TBGI_REGEX_DOCTYPE, DOKART_GUIDTextBox.Text)
End If End If
Catch ex As Exception Catch ex As Exception
@@ -1060,7 +1062,7 @@ Public Class frmAdministration
Private Sub BarButtonItem14_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem14.ItemClick Private Sub BarButtonItem14_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem14.ItemClick
Try Try
Dim oSQL = $"DELETE FROM TBGI_REGEX_DOCTYPE WHERE DOCTYPE_ID = {DOKART_GUIDTextBox.Text}" Dim oSQL = $"DELETE FROM TBGI_REGEX_DOCTYPE WHERE DOCTYPE_ID = {DOKART_GUIDTextBox.Text}"
ClassDatabase.Execute_non_Query(oSQL) DATABASE_ECM.ExecuteNonQuery(oSQL)
TBGI_REGEX_DOCTYPETableAdapter.Fill(MyDataset.TBGI_REGEX_DOCTYPE, DOKART_GUIDTextBox.Text) TBGI_REGEX_DOCTYPETableAdapter.Fill(MyDataset.TBGI_REGEX_DOCTYPE, DOKART_GUIDTextBox.Text)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -1069,11 +1071,15 @@ Public Class frmAdministration
End Sub End Sub
Private Sub BarButtonItem16_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem16.ItemClick Private Sub BarButtonItem16_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem16.ItemClick
TBDD_INDEX_MANBindingSource.AddNew() Try
TBDD_INDEX_MANBindingSource.AddNew()
If WINDREAM_DIRECTCheckBox.Checked = True Then If WINDREAM_DIRECTCheckBox.Checked = True Then
load_WDIndices() load_WDIndices()
End If End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub End Sub
Private Sub BarButtonItem17_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem17.ItemClick Private Sub BarButtonItem17_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem17.ItemClick
@@ -1093,9 +1099,9 @@ Public Class frmAdministration
If GUIDTextBox1.Text <> "" Then If GUIDTextBox1.Text <> "" Then
Try Try
Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & GUIDTextBox1.Text Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & GUIDTextBox1.Text
If ClassDatabase.Execute_non_Query(del) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
del = "DELETE FROM TBDD_INDEX_MAN WHERE GUID = " & GUIDTextBox1.Text del = "DELETE FROM TBDD_INDEX_MAN WHERE GUID = " & GUIDTextBox1.Text
If ClassDatabase.Execute_non_Query(del) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text) Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text)
End If End If
End If End If
@@ -1108,12 +1114,18 @@ Public Class frmAdministration
Private Sub BarButtonItem18_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem18.ItemClick Private Sub BarButtonItem18_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem18.ItemClick
If DOKART_GUIDTextBox.Text <> String.Empty Then If DOKART_GUIDTextBox.Text <> String.Empty Then
Dim oSelectedIndex = ListBoxControl3.SelectedIndex
Load_INDEXMAN(DOKART_GUIDTextBox.Text) Load_INDEXMAN(DOKART_GUIDTextBox.Text)
ListBoxControl3.SelectedIndex = oSelectedIndex
End If End If
End Sub End Sub
Private Sub BarButtonItem20_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem20.ItemClick Private Sub BarButtonItem20_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem20.ItemClick
TBDD_INDEX_MAN_POSTPROCESSINGBindingSource.AddNew() Try
TBDD_INDEX_MAN_POSTPROCESSINGBindingSource.AddNew()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub End Sub
Private Sub BarButtonItem21_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem21.ItemClick Private Sub BarButtonItem21_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem21.ItemClick
@@ -1133,7 +1145,7 @@ Public Class frmAdministration
If GUIDTextBox1.Text <> "" Then If GUIDTextBox1.Text <> "" Then
Try Try
Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = " & GUIDTextBox4.Text Dim del = "DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = " & GUIDTextBox4.Text
If ClassDatabase.Execute_non_Query(del) = True Then If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_PostProcessing(Me.DOKART_GUIDTextBox.Text) Load_PostProcessing(Me.DOKART_GUIDTextBox.Text)
End If End If
Catch ex As Exception Catch ex As Exception
@@ -1144,15 +1156,21 @@ Public Class frmAdministration
End Sub End Sub
Private Sub BarButtonItem22_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem22.ItemClick Private Sub BarButtonItem22_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem22.ItemClick
Dim oSelectedIndex = ListBox1.SelectedIndex
Load_PostProcessing(Me.DOKART_GUIDTextBox.Text) Load_PostProcessing(Me.DOKART_GUIDTextBox.Text)
ListBox1.SelectedIndex = oSelectedIndex
End Sub End Sub
Private Sub BarButtonItem24_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem24.ItemClick Private Sub BarButtonItem24_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem24.ItemClick
TBDD_INDEX_AUTOMBindingSource.AddNew() Try
TBDD_INDEX_AUTOMBindingSource.AddNew()
If WINDREAM_DIRECTCheckBox.Checked = True Then If WINDREAM_DIRECTCheckBox.Checked = True Then
load_WDIndices() load_WDIndices()
End If End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub End Sub
Private Sub ToolStripButton17_Click(sender As Object, e As EventArgs) Private Sub ToolStripButton17_Click(sender As Object, e As EventArgs)
@@ -1171,7 +1189,7 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then If result = MsgBoxResult.Yes Then
Try Try
Dim oSQL = $"DELETE FROM TBDD_INDEX_AUTOM WHERE GUID = {GUIDAUTO_INDEXTextbox.Text}" Dim oSQL = $"DELETE FROM TBDD_INDEX_AUTOM WHERE GUID = {GUIDAUTO_INDEXTextbox.Text}"
ClassDatabase.Execute_non_Query(oSQL) DATABASE_ECM.ExecuteNonQuery(oSQL)
Load_INDEXE_AUTO(Me.DOKART_GUIDTextBox.Text) Load_INDEXE_AUTO(Me.DOKART_GUIDTextBox.Text)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -1181,7 +1199,9 @@ Public Class frmAdministration
End Sub End Sub
Private Sub BarButtonItem26_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem26.ItemClick Private Sub BarButtonItem26_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem26.ItemClick
Dim oSelectedIndex = ListBoxControl4.SelectedIndex
Load_INDEXE_AUTO(Me.DOKART_GUIDTextBox.Text) Load_INDEXE_AUTO(Me.DOKART_GUIDTextBox.Text)
ListBoxControl4.SelectedIndex = oSelectedIndex
End Sub End Sub
Private Sub BarButtonItem25_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem25.ItemClick Private Sub BarButtonItem25_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem25.ItemClick
@@ -1228,17 +1248,19 @@ Public Class frmAdministration
End Sub End Sub
Private Sub BarButtonItem28_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem28.ItemClick Private Sub BarButtonItem28_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem28.ItemClick
TBGI_REGEX_DOCTYPEBindingSource.AddNew() Try
TBGI_REGEX_DOCTYPEBindingSource.AddNew()
EnableControls(XtraTabPageProfileRegex)
EnableControls(XtraTabPageProfileRegex) Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub End Sub
Private Sub GridView1_ValidateRow(sender As Object, e As ValidateRowEventArgs) Handles GridView1.ValidateRow Private Sub GridView1_ValidateRow(sender As Object, e As ValidateRowEventArgs) Handles GridViewProfile.ValidateRow
e.Valid = True e.Valid = True
End Sub End Sub
Private Sub GridView1_InvalidRowException(sender As Object, e As InvalidRowExceptionEventArgs) Handles GridView1.InvalidRowException Private Sub GridView1_InvalidRowException(sender As Object, e As InvalidRowExceptionEventArgs) Handles GridViewProfile.InvalidRowException
e.ExceptionMode = DevExpress.XtraEditors.Controls.ExceptionMode.NoAction e.ExceptionMode = DevExpress.XtraEditors.Controls.ExceptionMode.NoAction
End Sub End Sub
@@ -1316,8 +1338,8 @@ Public Class frmAdministration
End If End If
End Sub End Sub
Private Sub GridView1_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles GridView1.BeforeLeaveRow Private Sub GridView1_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles GridViewProfile.BeforeLeaveRow
Dim oRowView As DataRowView = GridView1.GetRow(e.RowHandle) Dim oRowView As DataRowView = GridViewProfile.GetRow(e.RowHandle)
Dim oProfileName As String = oRowView?.Row.Item("BEZEICHNUNG") Dim oProfileName As String = oRowView?.Row.Item("BEZEICHNUNG")
If oRowView Is Nothing Then If oRowView Is Nothing Then

View File

@@ -68,7 +68,7 @@ Public Class frmConfig_Basic
sql = sql.Replace("@user", Environment.UserName) sql = sql.Replace("@user", Environment.UserName)
LOGGER.Info(">> Username: " & Environment.UserName) LOGGER.Info(">> Username: " & Environment.UserName)
USER_ID = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) USER_ID = DATABASE_ECM.GetScalarValue(sql)
If IsDBNull(USER_ID) Then If IsDBNull(USER_ID) Then
MsgBox("Attention: Your Username '" & Environment.UserName & "' is not configured for Global Indexer. this might result in unhandled exceptions!", MsgBoxStyle.Exclamation) MsgBox("Attention: Your Username '" & Environment.UserName & "' is not configured for Global Indexer. this might result in unhandled exceptions!", MsgBoxStyle.Exclamation)
LOGGER.Info("User '" & Environment.UserName & "' not configured for Global Indexer! (DBNull - frmConfigBasic)") LOGGER.Info("User '" & Environment.UserName & "' not configured for Global Indexer! (DBNull - frmConfigBasic)")
@@ -150,12 +150,12 @@ Public Class frmConfig_Basic
Exit Sub Exit Sub
End If End If
reload = True reload = True
Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & USER_ID, MyConnectionString) Dim folderwatch = DATABASE_ECM.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & USER_ID)
If Not folderwatch Is Nothing Then If Not folderwatch Is Nothing Then
CURRENT_FOLDERWATCH = folderwatch CURRENT_FOLDERWATCH = folderwatch
End If End If
Me.txtFolderWatch.Text = CURRENT_FOLDERWATCH Me.txtFolderWatch.Text = CURRENT_FOLDERWATCH
Dim SCAN_folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_ID, MyConnectionString) Dim SCAN_folderwatch = DATABASE_ECM.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_ID)
If Not SCAN_folderwatch Is Nothing Then If Not SCAN_folderwatch Is Nothing Then
CURRENT_SCAN_FOLDERWATCH = SCAN_folderwatch CURRENT_SCAN_FOLDERWATCH = SCAN_folderwatch
End If End If
@@ -230,7 +230,7 @@ Public Class frmConfig_Basic
Sub CheckFolder(mypath As String, FOLDER_TYPE As String) Sub CheckFolder(mypath As String, FOLDER_TYPE As String)
Try Try
If mypath = "" Then If mypath = "" Then
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'", True) DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
If FOLDER_TYPE = "SCAN" Then If FOLDER_TYPE = "SCAN" Then
CURRENT_SCAN_FOLDERWATCH = "" CURRENT_SCAN_FOLDERWATCH = ""
CONFIG.Config.FolderWatchScanStarted = False CONFIG.Config.FolderWatchScanStarted = False
@@ -262,15 +262,15 @@ Public Class frmConfig_Basic
Exit Sub Exit Sub
End Try End Try
Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT GUID FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'", MyConnectionString) Dim folderwatch = DATABASE_ECM.GetScalarValue("SELECT GUID FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
Dim sql As String Dim sql As String
If folderwatch Is Nothing Then If folderwatch Is Nothing Then
sql = "INSERT INTO TBGI_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE, ADDED_WHO) VALUES (" & USER_ID & ",'" & mypath & "','" & FOLDER_TYPE & "','" & Environment.UserName & "')" sql = "INSERT INTO TBGI_FOLDERWATCH_USER (USER_ID, FOLDER_PATH, FOLDER_TYPE, ADDED_WHO) VALUES (" & USER_ID & ",'" & mypath & "','" & FOLDER_TYPE & "','" & Environment.UserName & "')"
Else Else
sql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & mypath & "', CHANGED_WHO = '" & Environment.UserName & "' where GUID = " & folderwatch sql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & mypath & "', CHANGED_WHO = '" & Environment.UserName & "' where GUID = " & folderwatch
End If End If
If ClassDatabase.Execute_non_Query(sql) Then If DATABASE_ECM.ExecuteNonQuery(sql) Then
folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'", MyConnectionString) folderwatch = DATABASE_ECM.GetScalarValue("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'")
If FOLDER_TYPE = "SCAN" Then If FOLDER_TYPE = "SCAN" Then
CURRENT_SCAN_FOLDERWATCH = folderwatch CURRENT_SCAN_FOLDERWATCH = folderwatch
@@ -362,7 +362,7 @@ Public Class frmConfig_Basic
LOGCONFIG.Debug = Not chkLogErrorsOnly.Checked LOGCONFIG.Debug = Not chkLogErrorsOnly.Checked
End If End If
End Sub End Sub
<STAThread()> _ <STAThread()>
Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Load_Basics() Load_Basics()
formloaded = True formloaded = True
@@ -404,7 +404,7 @@ Public Class frmConfig_Basic
End Sub End Sub
Private Sub btnopenlog_Click(sender As Object, e As EventArgs) Handles btnopenlog.Click Private Sub btnopenlog_Click(sender As Object, e As EventArgs) Handles btnopenlog.Click
Process.Start(ClassLogger.DateiSpeicherort) Process.Start(LOGCONFIG.LogDirectory)
End Sub End Sub
Private Sub btnApplicationFolder_Click(sender As Object, e As EventArgs) Handles btnApplicationFolder.Click Private Sub btnApplicationFolder_Click(sender As Object, e As EventArgs) Handles btnApplicationFolder.Click
Process.Start(Application.UserAppDataPath()) Process.Start(Application.UserAppDataPath())
@@ -453,7 +453,7 @@ Public Class frmConfig_Basic
End Sub End Sub
Private Sub btnLogMail_Click(sender As Object, e As EventArgs) Handles btnLogMail.Click Private Sub btnLogMail_Click(sender As Object, e As EventArgs) Handles btnLogMail.Click
ClassEmail.Send_Log_Mail("<b> Log-/SupportMail von DD GLOBIX.</b> <p>", _ ClassEmail.Send_Log_Mail("<b> Log-/SupportMail von DD GLOBIX.</b> <p>",
"Support-Mail GLOBIX", "support@didalog.de", "mail.triplew.de", "support@didalog.de", "ddemail40", "support@didalog.de", False, True) "Support-Mail GLOBIX", "support@didalog.de", "mail.triplew.de", "support@didalog.de", "ddemail40", "support@didalog.de", False, True)
End Sub End Sub
@@ -483,7 +483,7 @@ Public Class frmConfig_Basic
Dim update As String = "UPDATE TBDD_USER SET [LANGUAGE] = '" & lang & "' WHERE GUID = " & USER_ID Dim update As String = "UPDATE TBDD_USER SET [LANGUAGE] = '" & lang & "' WHERE GUID = " & USER_ID
USER_LANGUAGE = lang USER_LANGUAGE = lang
If ClassDatabase.Execute_non_Query(update, True) = True Then If DATABASE_ECM.ExecuteNonQuery(update) = True Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Die Sprache wurde erfolgreich geändert!", MsgBoxStyle.Information) MsgBox("Die Sprache wurde erfolgreich geändert!", MsgBoxStyle.Information)
Else Else

View File

@@ -100,7 +100,7 @@ Public Class frmEmailIndexing
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Try Try
Dim oSQL = $"DELETE FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '{OBJECTTYPETextBox.Text}'" Dim oSQL = $"DELETE FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '{OBJECTTYPETextBox.Text}'"
ClassDatabase.Execute_non_Query(oSQL) DATABASE_ECM.ExecuteNonQuery(oSQL)
TBGI_OBJECTTYPE_EMAIL_INDEXTableAdapter.Fill(MyDataset.TBGI_OBJECTTYPE_EMAIL_INDEX, OBJECTTYPETextBox.Text) TBGI_OBJECTTYPE_EMAIL_INDEXTableAdapter.Fill(MyDataset.TBGI_OBJECTTYPE_EMAIL_INDEX, OBJECTTYPETextBox.Text)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)

View File

@@ -5,6 +5,7 @@ Imports System.Security.AccessControl
Imports System.Security.Principal Imports System.Security.Principal
Imports System.DirectoryServices Imports System.DirectoryServices
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.Controls.LookupGrid Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.GlobalIndexer Imports DigitalData.GUIs.GlobalIndexer
Imports DevExpress.XtraEditors.Controls Imports DevExpress.XtraEditors.Controls
@@ -141,11 +142,11 @@ Public Class frmIndex
If DR.Item("SQL_CHECK").ToString <> String.Empty Then If DR.Item("SQL_CHECK").ToString <> String.Empty Then
Dim connectionString As String Dim connectionString As String
Dim sql As String Dim sql As String
connectionString = ClassFormFunctions.GetConnectionString(DR.Item("CONNECTION_ID")) connectionString = DATABASE_ECM.Get_ConnectionStringforID(DR.Item("CONNECTION_ID"))
If connectionString <> "" Then If connectionString <> "" Then
Dim sqlscalar = DR.Item("SQL_CHECK") Dim sqlscalar = DR.Item("SQL_CHECK")
Select Case DR.Item("DATENTYP") Select Case DR.Item("DATENTYP")
Case "INTEGER" Case ClassConstants.INDEX_TYPE_INTEGER
sqlscalar = sqlscalar.ToString.Replace("@manValue", wert) sqlscalar = sqlscalar.ToString.Replace("@manValue", wert)
Case Else Case Else
sqlscalar = sqlscalar.ToString.Replace("@manValue", "'" & wert & "'") sqlscalar = sqlscalar.ToString.Replace("@manValue", "'" & wert & "'")
@@ -154,10 +155,12 @@ Public Class frmIndex
sql = sqlscalar sql = sqlscalar
Dim ergebnis As Integer Dim ergebnis As Integer
If DR.Item("SQL_PROVIDER") = "Oracle" Then If DR.Item("SQL_PROVIDER") = "Oracle" Then
ergebnis = ClassDatabase.OracleExecute_Scalar(sql, connectionString)
' ergebnis = ClassDatabase.OracleExecute_Scalar(sql, connectionString)
LOGGER.Warn("Oracle is not supported")
Else Else
'MSQL 'MSQL
ergebnis = ClassDatabase.Execute_Scalar(sql, connectionString) ergebnis = DATABASE_ECM.GetScalarValueWithConnection(sql, connectionString)
End If End If
Select Case ergebnis Select Case ergebnis
@@ -218,7 +221,6 @@ Public Class frmIndex
_Logger.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert")) _Logger.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
Return DR.Item("Indexwert") Return DR.Item("Indexwert")
Else Else
'Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & indexname & "')", MyConnectionString, True)
If opt = False Then If opt = False Then
_Logger.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!") _Logger.Info("Achtung, der Indexwert des manuellen Indexes '" & indexname & "' ist String.empty!")
ShowNotice("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!") ShowNotice("Indexiert = True - Der Index: " & DR.Item("INDEXNAME") & " wurde nicht ordnungsgemäss indexiert! - Automatischer Index konnte nicht gesetzt werden!")
@@ -281,7 +283,7 @@ Public Class frmIndex
Function GetAutomaticIndexSQLValue(SQLCommand As String, vconnectionID As Integer, vProvider As String) As String Function GetAutomaticIndexSQLValue(SQLCommand As String, vconnectionID As Integer, vProvider As String) As String
Try Try
Dim oConnectionString As String Dim oConnectionString As String
oConnectionString = ClassFormFunctions.GetConnectionString(vconnectionID) oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(vconnectionID)
If oConnectionString <> "" Then If oConnectionString <> "" Then
'NEU 'NEU
Dim oErgebnis Dim oErgebnis
@@ -289,7 +291,7 @@ Public Class frmIndex
If vProvider.ToLower = "oracle" Then If vProvider.ToLower = "oracle" Then
oErgebnis = ClassDatabase.OracleExecute_Scalar(SQLCommand, oConnectionString) oErgebnis = ClassDatabase.OracleExecute_Scalar(SQLCommand, oConnectionString)
Else 'im Moment nur SQL-Server Else 'im Moment nur SQL-Server
oErgebnis = ClassDatabase.Execute_Scalar(SQLCommand, oConnectionString) oErgebnis = DATABASE_ECM.GetScalarValueWithConnection(SQLCommand, oConnectionString)
End If End If
If LogErrorsOnly = False Then If LogErrorsOnly = False Then
@@ -322,7 +324,7 @@ Public Class frmIndex
If oControl.Name.StartsWith("txt") Then If oControl.Name.StartsWith("txt") Then
Dim box As DevExpress.XtraEditors.TextEdit = oControl Dim box As DevExpress.XtraEditors.TextEdit = oControl
If box.Text = "" Then If box.Text = "" Then
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(box.Name, "txt", "") & "'", MyConnectionString, True) Dim optional_index As Boolean = DATABASE_ECM.GetScalarValue("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(box.Name, "txt", "") & "'")
If optional_index = False Then If optional_index = False Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
@@ -365,7 +367,7 @@ Public Class frmIndex
Dim oValues As List(Of String) = oLookup.Properties.SelectedValues Dim oValues As List(Of String) = oLookup.Properties.SelectedValues
If oValues.Count = 0 Then If oValues.Count = 0 Then
Dim oIsOptionalIndex As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(oLookup.Name, "cmbMulti", "") & "'", MyConnectionString, True) Dim oIsOptionalIndex As Boolean = DATABASE_ECM.GetScalarValue("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(oLookup.Name, "cmbMulti", "") & "'")
If oIsOptionalIndex = False Then If oIsOptionalIndex = False Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
@@ -389,7 +391,7 @@ Public Class frmIndex
Dim cmbSingle As TextBox = oControl Dim cmbSingle As TextBox = oControl
If cmbSingle.Text = "" Then If cmbSingle.Text = "" Then
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(cmbSingle.Name, "cmbSingle", "") & "'", MyConnectionString, True) Dim optional_index As Boolean = DATABASE_ECM.GetScalarValue("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(cmbSingle.Name, "cmbSingle", "") & "'")
If optional_index = False Then If optional_index = False Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
@@ -410,7 +412,7 @@ Public Class frmIndex
ElseIf oControl.Name.StartsWith("cmb") Then ElseIf oControl.Name.StartsWith("cmb") Then
Dim cmb As ComboBox = oControl Dim cmb As ComboBox = oControl
If cmb.Text = "" Then If cmb.Text = "" Then
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(cmb.Name, "cmb", "") & "'", MyConnectionString, True) Dim optional_index As Boolean = DATABASE_ECM.GetScalarValue("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & oDocumentTypeId & " AND NAME = '" & Replace(cmb.Name, "cmb", "") & "'")
If optional_index = False Then If optional_index = False Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
MsgBox(TEXT_MISSING_INPUT_DE, MsgBoxStyle.Exclamation, Text) MsgBox(TEXT_MISSING_INPUT_DE, MsgBoxStyle.Exclamation, Text)
@@ -433,7 +435,7 @@ Public Class frmIndex
Dim oIndexName As String = Replace(dtp.Name, "dtp", "") Dim oIndexName As String = Replace(dtp.Name, "dtp", "")
If dtp.Text = String.Empty Then If dtp.Text = String.Empty Then
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {oDocumentTypeId} AND NAME = '{oIndexName}'", MyConnectionString, True) Dim optional_index As Boolean = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {oDocumentTypeId} AND NAME = '{oIndexName}'")
If optional_index = False Then If optional_index = False Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
@@ -488,7 +490,7 @@ Public Class frmIndex
'Die Nachbearbeitungsschritte laden 'Die Nachbearbeitungsschritte laden
'FILE AND INDEX 'FILE AND INDEX
'Zuerst nur die Fälle für die Variante ONLY FILE/FOLDER 'Zuerst nur die Fälle für die Variante ONLY FILE/FOLDER
Dim DTNB As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'ONLY FILE/FOLDER' ORDER BY SEQUENCE") Dim DTNB As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'ONLY FILE/FOLDER' ORDER BY SEQUENCE")
If DTNB Is Nothing = False Then If DTNB Is Nothing = False Then
If DTNB.Rows.Count > 0 Then If DTNB.Rows.Count > 0 Then
value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
@@ -498,7 +500,7 @@ Public Class frmIndex
End If End If
'Jetzt die Fälle für die Variante FILE AND INDEX 'Jetzt die Fälle für die Variante FILE AND INDEX
DTNB = Nothing DTNB = Nothing
DTNB = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'FILE AND INDEX' ORDER BY SEQUENCE") DTNB = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & idxid & " AND VARIANT = 'FILE AND INDEX' ORDER BY SEQUENCE")
If DTNB Is Nothing = False Then If DTNB Is Nothing = False Then
If DTNB.Rows.Count > 0 Then If DTNB.Rows.Count > 0 Then
value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB) value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
@@ -519,7 +521,7 @@ Public Class frmIndex
_Logger.Debug("#### Name_Generieren ####") _Logger.Debug("#### Name_Generieren ####")
Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1" Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1"
Dim oFilesystem As New DigitalData.Modules.Filesystem.File(LOGCONFIG) Dim oFilesystem As New DigitalData.Modules.Filesystem.File(LOGCONFIG)
Dim DT1 As DataTable = ClassDatabase.Return_Datatable(sql) Dim DT1 As DataTable = DATABASE_ECM.GetDatatable(sql)
For Each row As DataRow In DT1.Rows For Each row As DataRow In DT1.Rows
FILE_DELIMITER = row.Item("FILE_DELIMITER") FILE_DELIMITER = row.Item("FILE_DELIMITER")
VERSION_DELIMITER = row.Item("VERSION_DELIMITER") VERSION_DELIMITER = row.Item("VERSION_DELIMITER")
@@ -529,7 +531,7 @@ Public Class frmIndex
Dim folder_Created As Boolean = False Dim folder_Created As Boolean = False
Dim oRAWZielordner As String Dim oRAWZielordner As String
Dim extension As String = System.IO.Path.GetExtension(CURRENT_WORKFILE) Dim extension As String = System.IO.Path.GetExtension(CURRENT_WORKFILE)
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_DOKUMENTART WHERE GUID = " & CURRENT_DOKART_ID) Dim DT As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_DOKUMENTART WHERE GUID = " & CURRENT_DOKART_ID)
sql_history_INSERT_INTO = "INSERT INTO TBGI_HISTORY (FILENAME_ORIGINAL,FILENAME_NEW" sql_history_INSERT_INTO = "INSERT INTO TBGI_HISTORY (FILENAME_ORIGINAL,FILENAME_NEW"
sql_history_Index_Values = "" sql_history_Index_Values = ""
Dim AnzahlIndexe As Integer = 1 Dim AnzahlIndexe As Integer = 1
@@ -538,7 +540,7 @@ Public Class frmIndex
CURR_WORKFILE_EXTENSION = extension CURR_WORKFILE_EXTENSION = extension
oRAWZielordner = WINDREAM.GetNormalizedPath(DT.Rows(0).Item("ZIEL_PFAD")) 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 ' Regulären Ausdruck zum Auslesen der Indexe definieren
@@ -561,7 +563,7 @@ Public Class frmIndex
Case "M" Case "M"
_Logger.Debug("NameGenerieren: Manueller Index wird geprüft...") _Logger.Debug("NameGenerieren: Manueller Index wird geprüft...")
Dim Indexname = oElement.Value.Substring(3, oElement.Value.Length - 4) Dim Indexname = oElement.Value.Substring(3, oElement.Value.Length - 4)
Dim optional_index As Boolean = ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{Indexname}')", MyConnectionString, True) Dim optional_index As Boolean = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{Indexname}')")
Dim oManValue As String = GetManIndex_Value(Indexname, "FILE", optional_index) Dim oManValue As String = GetManIndex_Value(Indexname, "FILE", optional_index)
If oManValue <> String.Empty Then If oManValue <> String.Empty Then
Dim firstVectorValue = oManValue.Split(ClassConstants.VECTORSEPARATOR).First() Dim firstVectorValue = oManValue.Split(ClassConstants.VECTORSEPARATOR).First()
@@ -835,7 +837,7 @@ Public Class frmIndex
End If End If
Next Next
End If End If
If DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or CURRENT_NEWFILENAME.EndsWith(".msg") 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) indexierung_erfolgreich = SetEmailIndicies(pIndexAttachment:=False)
If indexierung_erfolgreich = False Then If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical) MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical)
@@ -856,24 +858,22 @@ Public Class frmIndex
End Try End Try
Return True Return True
End Function End Function
Private Function WriteIndex2File(indexname As String, indexvalue As String) Private Function WriteIndex2File(pIndexName As String, pIndexValue As String)
Try Try
_Logger.Info("Indexvalue: " & indexvalue.ToString) _Logger.Info($"Indexing with Name {pIndexName} and Value: {pIndexValue.ToString}")
Return WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, indexvalue, CURR_DOKART_OBJECTTYPE) Return WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, pIndexName, pIndexValue, CURR_DOKART_OBJECTTYPE)
Catch ex As Exception Catch ex As Exception
ShowErrorMessage(ex, "WriteIndex2File") ShowErrorMessage(ex, "WriteIndex2File")
Return False Return False
End Try End Try
End Function End Function
Private Function SetEmailIndicies(pIndexAttachment As Boolean) As Boolean Private Function SetEmailIndicies(pIndexAttachment As Boolean) As Boolean
Try Try
Dim oMsgFilePath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME) Dim oIndexNames As Dictionary(Of String, Object)
Dim oMail As IMail = EMAIL.Load_Email(oMsgFilePath)
Dim oSQL As String = $"SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '{CURR_DOKART_OBJECTTYPE}'" Dim oSQL As String = $"SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '{CURR_DOKART_OBJECTTYPE}'"
Dim oTable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oTable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
If IsNothing(oTable) Then 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 DocType = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
@@ -890,25 +890,42 @@ Public Class frmIndex
Return False Return False
End If End If
Dim oMessageId As String = oMail.MessageID
Dim oMessageFrom As String = EMAIL.Get_MessageSender(oMail)
Dim oMessageTo As String = EMAIL.Get_MessageReceiver(oMail)
Dim oSubject As String = oMail.Subject
Dim oDateIn As Date = oMail.Date
Dim oRow As DataRow = oTable.Rows.Item(0) Dim oRow As DataRow = oTable.Rows.Item(0)
Dim oIndexNames As New Dictionary(Of String, Object) From {
{"IDX_EMAIL_ID", oMessageId},
{"IDX_EMAIL_FROM", oMessageFrom},
{"IDX_EMAIL_TO", oMessageTo},
{"IDX_EMAIL_SUBJECT", oSubject},
{"IDX_EMAIL_DATE_IN", oDateIn}
}
If pIndexAttachment = True Then ' If file is an email files (eml,msg) parse it to extract email data and save for later
oIndexNames.Add("IDX_CHECK_ATTACHMENT", True) ' If file is an attachment, rely on the previously extracted value
If pIndexAttachment = False Then
Dim oMsgFilePath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
Dim oMail As IMail = EMAIL.Load_Email(oMsgFilePath)
Dim oMessageId As String = oMail.MessageID
Dim oMessageFrom As String = EMAIL.Get_MessageSender(oMail)
Dim oMessageTo As String = EMAIL.Get_MessageReceiver(oMail)
Dim oSubject As String = oMail.Subject
Dim oDateIn As Date = oMail.Date
CURRENT_MESSAGEID = oMessageFrom
CURRENT_MESSAGEDATE = oDateIn
CURRENT_MESSAGESUBJECT = oSubject
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_DATE_IN", oDateIn}
}
Else
oIndexNames = New Dictionary(Of String, Object) From {
{"IDX_EMAIL_ID", CURRENT_MESSAGEID},
{"IDX_EMAIL_SUBJECT", CURRENT_MESSAGESUBJECT},
{"IDX_EMAIL_DATE_IN", CURRENT_MESSAGEDATE},
{"IDX_CHECK_ATTACHMENT", True}
}
End If End If
For Each oIndex In oIndexNames For Each oIndex In oIndexNames
Try Try
If oIndex.Value Is Nothing Then If oIndex.Value Is Nothing Then
@@ -923,9 +940,8 @@ Public Class frmIndex
End If End If
Dim oIndexingSuccessful = WriteIndex2File(oRow.Item(oIndex.Key), oIndex.Value) Dim oIndexingSuccessful = WriteIndex2File(oRow.Item(oIndex.Key), oIndex.Value)
'Die aktuelle Message-ID zwischenspeichern
CURRENT_MESSAGEID = oMessageId
If oIndexingSuccessful = False Then If oIndexingSuccessful = False Then
MsgBox($"Error while Indexing Email at Index [{oIndex.Key}]", MsgBoxStyle.Critical) MsgBox($"Error while Indexing Email at Index [{oIndex.Key}]", MsgBoxStyle.Critical)
@@ -951,7 +967,7 @@ Public Class frmIndex
' Dim _step As String = "1" ' Dim _step As String = "1"
' Try ' 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 msg As Msg.Message = New Msg.Message(oTempPath)
' Dim msgDisplayTo = msg.DisplayTo ' Dim msgDisplayTo = msg.DisplayTo
' Dim msgInternetAccountName = msg.InternetAccountName ' Dim msgInternetAccountName = msg.InternetAccountName
@@ -996,7 +1012,7 @@ Public Class frmIndex
' finalize_pattern = rowregex.Item("REGEX") ' finalize_pattern = rowregex.Item("REGEX")
' End If ' End If
' Next ' Next
' Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "'") ' Dim DT As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "'")
' If IsNothing(DT) Then ' If IsNothing(DT) Then
' _Logger.Info("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "' RESULTED in NOTHING") ' _Logger.Info("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "' RESULTED in NOTHING")
' Return False ' Return False
@@ -1282,7 +1298,7 @@ Public Class frmIndex
'Private Function SetAttachmentIndices() 'Private Function SetAttachmentIndices()
' Dim indexierung_erfolgreich As Boolean = True ' Dim indexierung_erfolgreich As Boolean = True
' Try ' Try
' Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "'") ' Dim DT As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "'")
' If DT.Rows.Count = 1 Then ' If DT.Rows.Count = 1 Then
' If Not CURRENT_MESSAGEID Is Nothing Then ' If Not CURRENT_MESSAGEID Is Nothing Then
@@ -1335,7 +1351,7 @@ Public Class frmIndex
End If End If
Dim oStreamSuccessful = WINDREAM.NewFileStream(CURRENT_WORKFILE, CURRENT_NEWFILENAME) 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("Checks for file [{0}]", oTempPath)
_Logger.Debug("File streamed to Windream: {0}", oStreamSuccessful) _Logger.Debug("File streamed to Windream: {0}", oStreamSuccessful)
@@ -1379,19 +1395,19 @@ Public Class frmIndex
Dim oUser As String = $"{Environment.UserDomainName}\{Environment.UserName}" Dim oUser As String = $"{Environment.UserDomainName}\{Environment.UserName}"
Insert_String = sql_history_INSERT_INTO & $",ADDED_WHO, ADDED_WHERE, FILE_HASH) VALUES ('{oCurrentWorkfile}','{oCurrentNewFilename}'{sql_history_Index_Values},'{oUser}','{Environment.MachineName}','{CURRENT_WORKFILE_HASH}')" Insert_String = sql_history_INSERT_INTO & $",ADDED_WHO, ADDED_WHERE, FILE_HASH) VALUES ('{oCurrentWorkfile}','{oCurrentNewFilename}'{sql_history_Index_Values},'{oUser}','{Environment.MachineName}','{CURRENT_WORKFILE_HASH}')"
If ClassDatabase.Execute_non_Query(Insert_String) = True Then If DATABASE_ECM.ExecuteNonQuery(Insert_String) = True Then
If CURRENT_MESSAGEID <> "" Then If CURRENT_MESSAGEID <> "" Then
Dim max As String = "SELECT MAX(GUID) FROM TBGI_HISTORY" Dim max As String = "SELECT MAX(GUID) FROM TBGI_HISTORY"
Dim GUID = ClassDatabase.Execute_Scalar(max, MyConnectionString, True) Dim GUID = DATABASE_ECM.GetScalarValue(max)
Try Try
If GUID > 0 Then If GUID > 0 Then
Dim sql As String Dim sql As String
If CURRENT_ISATTACHMENT = True Then If CURRENT_ISATTACHMENT = True Then
sql = "Update TBGI_HISTORY SET ATTACHMENT = 1, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID sql = "Update TBGI_HISTORY SET ATTACHMENT = 1, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID
ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) DATABASE_ECM.GetScalarValue(sql)
Else Else
sql = "Update TBGI_HISTORY SET ATTACHMENT = 0, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID sql = "Update TBGI_HISTORY SET ATTACHMENT = 0, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID
ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) DATABASE_ECM.GetScalarValue(sql)
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
@@ -1431,7 +1447,7 @@ Public Class frmIndex
Try Try
ABORT_INDEXING = True ABORT_INDEXING = True
Dim sql As String = $"SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')" Dim sql As String = $"SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql)
Dim anz = DT.Rows.Count Dim anz = DT.Rows.Count
For Each Filerow As DataRow In DT.Rows For Each Filerow As DataRow In DT.Rows
@@ -1450,7 +1466,7 @@ Public Class frmIndex
End If End If
Next Next
'Zuerst die Daten des Ablaufs löschen 'Zuerst die Daten des Ablaufs löschen
If ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True) = True Then If DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')") = True Then
If containsfw_file = True Then If containsfw_file = True Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:") MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
@@ -1508,13 +1524,13 @@ Public Class frmIndex
Try Try
CURRENT_ISATTACHMENT = False CURRENT_ISATTACHMENT = False
DropType = ClassDatabase.Execute_Scalar("SELECT HANDLE_TYPE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID, MyConnectionString, True) DropType = DATABASE_ECM.GetScalarValue("SELECT HANDLE_TYPE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID)
CURR_DELETE_ORIGIN = CONFIG.Config.DeleteOriginalFile CURR_DELETE_ORIGIN = CONFIG.Config.DeleteOriginalFile
checkItemDeleteSource.Enabled = True checkItemDeleteSource.Enabled = True
checkItemDeleteSource.Checked = CONFIG.Config.DeleteOriginalFile checkItemDeleteSource.Checked = CONFIG.Config.DeleteOriginalFile
VIEWER_LICENSE = ClassDatabase.Execute_Scalar("SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'", MyConnectionString) VIEWER_LICENSE = DATABASE_ECM.GetScalarValue("SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'")
DocumentViewer1.Init(LOGCONFIG, VIEWER_LICENSE) DocumentViewer1.Init(LOGCONFIG, VIEWER_LICENSE)
@@ -1594,8 +1610,8 @@ Public Class frmIndex
Load_String() Load_String()
DTTBGI_REGEX_DOCTYPE = ClassDatabase.Return_Datatable("SELECT DISTINCT T1.DOCTYPE as DocType, T.* FROM TBGI_REGEX_DOCTYPE T, VWGI_DOCTYPE T1 WHERE T.DOCTYPE_ID = T1.DOCTYPE_ID") DTTBGI_REGEX_DOCTYPE = DATABASE_ECM.GetDatatable("SELECT DISTINCT T1.DOCTYPE as DocType, T.* FROM TBGI_REGEX_DOCTYPE T, VWGI_DOCTYPE T1 WHERE T.DOCTYPE_ID = T1.DOCTYPE_ID")
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) MULTIFILES = DATABASE_ECM.GetScalarValue("SELECT COUNT(*) FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
MULTIINDEXING_ACTIVE = False MULTIINDEXING_ACTIVE = False
If MULTIFILES > 0 Then If MULTIFILES > 0 Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
@@ -1693,7 +1709,7 @@ Public Class frmIndex
Try Try
Dim sql = String.Format("SELECT DISTINCT DOCTYPE_ID, DOCTYPE, SEQUENCE FROM VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", Environment.UserName) Dim sql = String.Format("SELECT DISTINCT DOCTYPE_ID, DOCTYPE, SEQUENCE FROM VWGI_DOCTYPE where UPPER(USERNAME) = UPPER('{0}') ORDER BY SEQUENCE", Environment.UserName)
_Logger.Info("SQL DoctypeList: " & sql) _Logger.Info("SQL DoctypeList: " & sql)
Dim oDoctypes = ClassDatabase.Return_Datatable(sql) Dim oDoctypes = DATABASE_ECM.GetDatatable(sql)
'cmbDokumentart.DataSource = oDoctypes 'cmbDokumentart.DataSource = oDoctypes
'cmbDokumentart.ValueMember = oDoctypes.Columns("DOCTYPE_ID").ColumnName 'cmbDokumentart.ValueMember = oDoctypes.Columns("DOCTYPE_ID").ColumnName
'cmbDokumentart.DisplayMember = oDoctypes.Columns("DOCTYPE").ColumnName 'cmbDokumentart.DisplayMember = oDoctypes.Columns("DOCTYPE").ColumnName
@@ -1730,7 +1746,7 @@ Public Class frmIndex
pnlIndex.Controls.Clear() pnlIndex.Controls.Clear()
Dim sql As String = "Select WINDREAM_DIRECT, ZIEL_PFAD, DUPLICATE_HANDLING from TBDD_DOKUMENTART WHERE GUID = " & oSelectedItem.Guid Dim sql As String = "Select WINDREAM_DIRECT, ZIEL_PFAD, DUPLICATE_HANDLING from TBDD_DOKUMENTART WHERE GUID = " & oSelectedItem.Guid
Dim oDoctypes As DataTable = ClassDatabase.Return_Datatable(sql) Dim oDoctypes As DataTable = DATABASE_ECM.GetDatatable(sql)
Dim oDocType As DataRow = oDoctypes.Rows.Item(0) Dim oDocType As DataRow = oDoctypes.Rows.Item(0)
Dim oDestination As String = oDocType.Item("ZIEL_PFAD") Dim oDestination As String = oDocType.Item("ZIEL_PFAD")
@@ -1760,7 +1776,7 @@ Public Class frmIndex
Dim sql Dim sql
Try Try
sql = "select T1.BEZEICHNUNG AS DOKUMENTART,T.* from TBDD_INDEX_MAN T, TBDD_DOKUMENTART T1 where T.ACTIVE = 1 AND T.DOK_ID = T1.GUID AND T.DOK_ID = " & dokartid & " ORDER BY T.SEQUENCE" sql = "select T1.BEZEICHNUNG AS DOKUMENTART,T.* from TBDD_INDEX_MAN T, TBDD_DOKUMENTART T1 where T.ACTIVE = 1 AND T.DOK_ID = T1.GUID AND T.DOK_ID = " & dokartid & " ORDER BY T.SEQUENCE"
DT_INDEXEMAN = ClassDatabase.Return_Datatable(sql) DT_INDEXEMAN = DATABASE_ECM.GetDatatable(sql)
pnlIndex.Visible = True pnlIndex.Visible = True
LoadIndexe_Man() LoadIndexe_Man()
Catch ex As System.Exception Catch ex As System.Exception
@@ -1821,14 +1837,14 @@ Public Class frmIndex
Dim AddNewItems As Boolean = oRow.Item("VKT_ADD_ITEM") Dim AddNewItems As Boolean = oRow.Item("VKT_ADD_ITEM")
Dim PreventDuplicates As Boolean = oRow.Item("VKT_PREVENT_MULTIPLE_VALUES") Dim PreventDuplicates As Boolean = oRow.Item("VKT_PREVENT_MULTIPLE_VALUES")
Dim oControlName As String = oRow.Item("NAME") 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 oSQLSuggestion = oRow.Item("SUGGESTION")
Dim oSQLResult = oRow.Item("SQL_RESULT") Dim oSQLResult = oRow.Item("SQL_RESULT")
LOGGER.Debug("IndexName: {0}", oControlName) LOGGER.Debug("IndexName: {0}", oControlName)
LOGGER.Debug("SQL: {0}", oSQLResult) LOGGER.Debug("SQL: {0}", oSQLResult)
If oDataType <> "BOOLEAN" Then If oDataType <> ClassConstants.INDEX_TYPE_BOOLEAN Then
addLabel(oControlName, oRow.Item("COMMENT").ToString, oLabelPosition, oControlCount) addLabel(oControlName, oRow.Item("COMMENT").ToString, oLabelPosition, oControlCount)
End If End If
@@ -1838,12 +1854,12 @@ Public Class frmIndex
End If End If
Select Case oDataType Select Case oDataType
Case "BOOLEAN" Case ClassConstants.INDEX_TYPE_BOOLEAN
Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, DefaultValue, oRow.Item("COMMENT").ToString) Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, DefaultValue, oRow.Item("COMMENT").ToString)
If Not IsNothing(chk) Then If Not IsNothing(chk) Then
pnlIndex.Controls.Add(chk) pnlIndex.Controls.Add(chk)
End If End If
Case "INTEGER" Case ClassConstants.INDEX_TYPE_INTEGER
If (oSQLSuggestion = True And oSQLResult.ToString.Length > 0) Or MultiSelect = True Then If (oSQLSuggestion = True And oSQLResult.ToString.Length > 0) Or MultiSelect = True Then
Dim oControl = oControls.AddLookupControl(oControlName, oControlPosition, MultiSelect, oDataType, oSQLResult, oConnectionId, DefaultValue, AddNewItems, PreventDuplicates) Dim oControl = oControls.AddLookupControl(oControlName, oControlPosition, MultiSelect, oDataType, oSQLResult, oConnectionId, DefaultValue, AddNewItems, PreventDuplicates)
If Not IsNothing(oControl) Then If Not IsNothing(oControl) Then
@@ -1856,7 +1872,7 @@ Public Class frmIndex
pnlIndex.Controls.Add(oControl) pnlIndex.Controls.Add(oControl)
End If End If
End If End If
Case "VARCHAR" Case ClassConstants.INDEX_TYPE_VARCHAR
If (oSQLSuggestion = True And oSQLResult.ToString.Length > 0) Or MultiSelect = True Then If (oSQLSuggestion = True And oSQLResult.ToString.Length > 0) Or MultiSelect = True Then
Dim oControl = oControls.AddLookupControl(oControlName, oControlPosition, MultiSelect, oDataType, oSQLResult, oConnectionId, DefaultValue, AddNewItems, PreventDuplicates) Dim oControl = oControls.AddLookupControl(oControlName, oControlPosition, MultiSelect, oDataType, oSQLResult, oConnectionId, DefaultValue, AddNewItems, PreventDuplicates)
If Not IsNothing(oControl) Then If Not IsNothing(oControl) Then
@@ -1911,7 +1927,7 @@ Public Class frmIndex
End Sub End Sub
Private Function GetLookupData(pLookup As LookupControl3, pSQLCommand As String, pConnectionId As Integer) Private Function GetLookupData(pLookup As LookupControl3, pSQLCommand As String, pConnectionId As Integer)
Dim oConnectionString = ClassFormFunctions.GetConnectionString(pConnectionId) Dim oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(pConnectionId)
If oConnectionString IsNot Nothing And pSQLCommand.Length > 0 Then If oConnectionString IsNot Nothing And pSQLCommand.Length > 0 Then
LOGGER.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30)) LOGGER.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30))
@@ -1923,7 +1939,8 @@ Public Class frmIndex
pSQLCommand = ClassPatterns.ReplaceInternalValues(pSQLCommand) pSQLCommand = ClassPatterns.ReplaceInternalValues(pSQLCommand)
pSQLCommand = ClassPatterns.ReplaceUserValues(pSQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_DOKART_ID) pSQLCommand = ClassPatterns.ReplaceUserValues(pSQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_DOKART_ID)
Dim oDatatable = ClassDatabase.Return_Datatable_Combined(pSQLCommand, oConnectionString, False) 'Dim oDatatable = ClassDatabase.Return_Datatable_Combined(pSQLCommand, oConnectionString, False)
Dim oDatatable = DATABASE_ECM.GetDatatableWithConnection(pSQLCommand, oConnectionString)
Return oDatatable Return oDatatable
End If End If
Else Else
@@ -1941,15 +1958,15 @@ Public Class frmIndex
Dim oMeta = DirectCast(Control.Tag, ControlCreator.ControlMeta) Dim oMeta = DirectCast(Control.Tag, ControlCreator.ControlMeta)
Dim oIndexName As String = oMeta.IndexName Dim oIndexName As String = oMeta.IndexName
Dim oSQL = $"SELECT * FROM TBDD_INDEX_MAN WHERE SQL_RESULT LIKE '%{oIndexName}%' AND DOK_ID = {CURRENT_DOKART_ID}" Dim oSQL = $"SELECT * FROM TBDD_INDEX_MAN WHERE SQL_RESULT LIKE '%{oIndexName}%' AND DOK_ID = {CURRENT_DOKART_ID}"
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL) Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
If Not IsNothing(oDatatable) Then If Not IsNothing(oDatatable) Then
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name) LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows For Each oRow As DataRow In oDatatable.Rows
Dim oControlName As String = NotNull(oRow.Item("NAME"), "") Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1) Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "") Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName) LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
@@ -1975,8 +1992,9 @@ Public Class frmIndex
Exit Sub Exit Sub
End If End If
Dim oConnectionString = ClassFormFunctions.GetConnectionString(SqlConnectionId) Dim oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(SqlConnectionId)
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable_CS(SqlCommand, oConnectionString) 'Dim oDatatable As DataTable = ClassDatabase.Return_Datatable_CS(SqlCommand, oConnectionString)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(SqlCommand)
Dim oFoundControl As Control = Nothing Dim oFoundControl As Control = Nothing
For Each oControl As Control In pnlIndex.Controls For Each oControl As Control In pnlIndex.Controls
@@ -2095,17 +2113,17 @@ Public Class frmIndex
' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen ' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen
For Each oAutoIndexRow As DataRow In oDatatable For Each oAutoIndexRow As DataRow In oDatatable
_Logger.Info("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...") _Logger.Info("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...")
Dim oSqlResult As String = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_RESULT"), "") Dim oSqlResult As String = Utils.NotNull(oAutoIndexRow.Item("SQL_RESULT"), "")
Dim oSqlActive As Boolean = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False) Dim oSqlActive As Boolean = Utils.NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False)
Dim oSqlConnectionId As Integer = ClassHelper.NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1) Dim oSqlConnectionId As Integer = Utils.NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1)
Dim oSqlProvider As String = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_PROVIDER"), "") Dim oSqlProvider As String = Utils.NotNull(oAutoIndexRow.Item("SQL_PROVIDER"), "")
Dim oEndResult As New List(Of String) Dim oEndResult As New List(Of String)
' Wenn kein SQL Befehl vorhanden oder aktiv ist, ' Wenn kein SQL Befehl vorhanden oder aktiv ist,
' versuchen wir, die Spalte VALUE zu ersetzen ' versuchen wir, die Spalte VALUE zu ersetzen
If oSqlResult = String.Empty Or oSqlActive = 0 Then If oSqlResult = String.Empty Or oSqlActive = 0 Then
Dim oPlaceholderResult As String Dim oPlaceholderResult As String
Dim oValue As String = ClassHelper.NotNull(oAutoIndexRow.Item("VALUE"), "") Dim oValue As String = Utils.NotNull(oAutoIndexRow.Item("VALUE"), "")
oPlaceholderResult = GetPlaceholderValue(oValue, CURRENT_WORKFILE, USER_SHORTNAME) oPlaceholderResult = GetPlaceholderValue(oValue, CURRENT_WORKFILE, USER_SHORTNAME)
@@ -2137,7 +2155,7 @@ Public Class frmIndex
oSqlResult = oSqlResult.Replace(oMatch.Value, oPlaceholderResult) oSqlResult = oSqlResult.Replace(oMatch.Value, oPlaceholderResult)
End If End If
oOptionalIndex = ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')", MyConnectionString, True) oOptionalIndex = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')")
oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex) oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
' Wenn Ergebnis den VektorPlatzhalter enthält, soll nichts ersetzt werden. ' Wenn Ergebnis den VektorPlatzhalter enthält, soll nichts ersetzt werden.
@@ -2172,7 +2190,7 @@ Public Class frmIndex
Dim oOptionalIndex = False Dim oOptionalIndex = False
Dim oManualIndexResult As String = Nothing Dim oManualIndexResult As String = Nothing
oOptionalIndex = ClassDatabase.Execute_Scalar($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')", MyConnectionString, True) oOptionalIndex = DATABASE_ECM.GetScalarValue($"SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = {CURRENT_DOKART_ID} AND UPPER(NAME) = UPPER('{oIndexValue}')")
oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex) oManualIndexResult = GetManIndex_Value(oIndexValue, "IDX_AUTO", oOptionalIndex)
Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList() Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList()
@@ -2263,7 +2281,7 @@ Public Class frmIndex
CURRENT_LASTDOKART = oDokart.Name CURRENT_LASTDOKART = oDokart.Name
_Logger.Info("Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.") _Logger.Info("Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
Dim oDEL As String = "DELETE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID Dim oDEL As String = "DELETE FROM TBGI_FILES_USER WHERE GUID = " & CURRENT_WORKFILE_GUID
ClassDatabase.Execute_non_Query(oDEL, True) DATABASE_ECM.ExecuteNonQuery(oDEL)
If CURR_DELETE_ORIGIN = True Then If CURR_DELETE_ORIGIN = True Then
_Logger.Info("Datei [" & CURRENT_WORKFILE & "] wird gelöscht.") _Logger.Info("Datei [" & CURRENT_WORKFILE & "] wird gelöscht.")
@@ -2328,7 +2346,7 @@ Public Class frmIndex
' 'Die erste Datei indexieren ' 'Die erste Datei indexieren
' If WORK_FILE() = True Then ' If WORK_FILE() = True Then
' 'Und nun die folgenden ' '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 & "')") ' Dim DTFiles2Work As DataTable = DATABASE_ECM.GetDatatable("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 ' If Not DTFiles2Work Is Nothing Then
' Dim err = False ' Dim err = False
' For Each filerow As DataRow In DTFiles2Work.Rows ' For Each filerow As DataRow In DTFiles2Work.Rows
@@ -2375,7 +2393,7 @@ Public Class frmIndex
Dim oError As Boolean Dim oError As Boolean
Try Try
Dim oSQL As String = "SELECT FOLDER_FOR_INDEX FROM TBDD_DOKUMENTART WHERE GUID = " & CURRENT_DOKART_ID Dim oSQL As String = "SELECT FOLDER_FOR_INDEX FROM TBDD_DOKUMENTART WHERE GUID = " & CURRENT_DOKART_ID
Dim oFolderForIndex = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString, True) Dim oFolderForIndex = DATABASE_ECM.GetScalarValue(oSQL)
If Not IsDBNull(oFolderForIndex) Then If Not IsDBNull(oFolderForIndex) Then
CreateFolderForIndex(oFolderForIndex) CreateFolderForIndex(oFolderForIndex)
Else Else
@@ -2405,20 +2423,20 @@ Public Class frmIndex
Dim oUser As String = $"{Environment.UserDomainName}\{Environment.UserName}" Dim oUser As String = $"{Environment.UserDomainName}\{Environment.UserName}"
Insert_String = sql_history_INSERT_INTO & $",ADDED_WHO, ADDED_WHERE, FILE_HASH) VALUES ('{tempCur_WF}','{tempCur_New_FN}'{sql_history_Index_Values},'{oUser}','{Environment.MachineName}','{CURRENT_WORKFILE_HASH}')" Insert_String = sql_history_INSERT_INTO & $",ADDED_WHO, ADDED_WHERE, FILE_HASH) VALUES ('{tempCur_WF}','{tempCur_New_FN}'{sql_history_Index_Values},'{oUser}','{Environment.MachineName}','{CURRENT_WORKFILE_HASH}')"
ClassDatabase.Execute_Scalar(Insert_String, MyConnectionString, True) DATABASE_ECM.GetScalarValue(Insert_String)
If DropType.Contains("MSG") Or DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then If DropType.Contains("MSG") Or DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
If CURRENT_MESSAGEID <> "" Then If CURRENT_MESSAGEID <> "" Then
Dim max As String = "SELECT MAX(GUID) FROM TBGI_HISTORY" Dim max As String = "SELECT MAX(GUID) FROM TBGI_HISTORY"
Dim GUID = ClassDatabase.Execute_Scalar(max, MyConnectionString, True) Dim GUID = DATABASE_ECM.GetScalarValue(max)
Try Try
If GUID > 0 Then If GUID > 0 Then
Dim sqlUpdate As String Dim sqlUpdate As String
If DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then If DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
sqlUpdate = "Update TBGI_HISTORY SET ATTACHMENT = 1, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID sqlUpdate = "Update TBGI_HISTORY SET ATTACHMENT = 1, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID
ClassDatabase.Execute_non_Query(sqlUpdate, True) DATABASE_ECM.ExecuteNonQuery(sqlUpdate)
Else Else
sqlUpdate = "Update TBGI_HISTORY SET ATTACHMENT = 0, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID sqlUpdate = "Update TBGI_HISTORY SET ATTACHMENT = 0, MSG_ID = '" & CURRENT_MESSAGEID & "' WHERE GUID = " & GUID
ClassDatabase.Execute_non_Query(sqlUpdate, True) DATABASE_ECM.ExecuteNonQuery(sqlUpdate)
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
@@ -2484,7 +2502,7 @@ Public Class frmIndex
'Manueller Indexwert 'Manueller Indexwert
Case "M" Case "M"
Dim oManIndexName = oMatch.Value.Substring(3, oMatch.Value.Length - 4) Dim oManIndexName = oMatch.Value.Substring(3, oMatch.Value.Length - 4)
Dim oIsOptional As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & oManIndexName & "')", MyConnectionString, True) Dim oIsOptional As Boolean = DATABASE_ECM.GetScalarValue("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & CURRENT_DOKART_ID & " AND UPPER(NAME) = UPPER('" & oManIndexName & "')")
_Logger.Info("Versuch den Indexwert aus '" & oManIndexName & "' auszulesen.") _Logger.Info("Versuch den Indexwert aus '" & oManIndexName & "' auszulesen.")
Dim oManIndexValue As String = GetManIndex_Value(oManIndexName, "FILE", oIsOptional) Dim oManIndexValue As String = GetManIndex_Value(oManIndexName, "FILE", oIsOptional)
_Logger.Info("Ergebnis/Wert für neuen Ordner: '" & oManIndexName & "'") _Logger.Info("Ergebnis/Wert für neuen Ordner: '" & oManIndexName & "'")
@@ -2631,7 +2649,7 @@ Public Class frmIndex
ABORT_INDEXING = True ABORT_INDEXING = True
Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')" Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True) Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql)
Dim anz = DT.Rows.Count Dim anz = DT.Rows.Count
@@ -2651,7 +2669,7 @@ Public Class frmIndex
End If End If
Next Next
'Zuerst die Daten des Ablaufs löschen 'Zuerst die Daten des Ablaufs löschen
If ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True) = True Then If DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')") = True Then
If containsfw_file = True Then If containsfw_file = True Then
If USER_LANGUAGE = LANG_DE Then If USER_LANGUAGE = LANG_DE Then
MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:") MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
@@ -2702,74 +2720,83 @@ Public Class frmIndex
End Sub End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnOK.Click Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnOK.Click
ClearError() Try
ClearNotice() ClearError()
ClearNotice()
Me.Cursor = Cursors.WaitCursor Me.Cursor = Cursors.WaitCursor
ClassHelper.Refresh_RegexTable() CURRENT_DT_REGEX = DATABASE_ECM.GetDatatable("SELECT * FROM TBGI_FUNCTION_REGEX")
For Each rowregex As DataRow In CURRENT_DT_REGEX.Rows For Each rowregex As DataRow In CURRENT_DT_REGEX.Rows
If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then
REGEX_CLEAN_FILENAME = rowregex.Item("REGEX") REGEX_CLEAN_FILENAME = rowregex.Item("REGEX")
End If End If
Next Next
If checkMultiindex.Visible = True And checkMultiindex.Checked = True Then If checkMultiindex.Visible = True And checkMultiindex.Checked = True Then
'Die erste Datei indexieren 'Die erste Datei indexieren
If WORK_FILE() = True Then If WORK_FILE() = True Then
'Und nun die folgenden '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 & "')") Dim DTFiles2Work As DataTable = DATABASE_ECM.GetDatatable("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 If Not DTFiles2Work Is Nothing Then
Dim err = False Dim err = False
For Each filerow As DataRow In DTFiles2Work.Rows For Each filerow As DataRow In DTFiles2Work.Rows
CURRENT_WORKFILE_GUID = filerow.Item("GUID") CURRENT_WORKFILE_GUID = filerow.Item("GUID")
CURRENT_WORKFILE = filerow.Item("FILENAME2WORK") CURRENT_WORKFILE = filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_HASH = NotNull(filerow.Item("FILE_HASH"), "") CURRENT_WORKFILE_HASH = Utils.NotNull(filerow.Item("FILE_HASH"), "")
DropType = filerow.Item("HANDLE_TYPE") DropType = filerow.Item("HANDLE_TYPE")
If WORK_FILE() = False Then If WORK_FILE() = False Then
err = True err = True
Exit For 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 End If
Next End If
End If
Else
If WORK_FILE() = True Then
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
If err = False Then If CONFIG.Config.ShowIndexResult = True Then
If USER_LANGUAGE = LANG_DE 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 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 End If
DocumentViewer1.CloseDocument()
DocumentViewer1.Done()
CancelAttempts = 2
Me.Close()
End If End If
DocumentViewer1.CloseDocument()
DocumentViewer1.Done()
CancelAttempts = 2
Me.Close()
End If End If
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() ' Clear all temp files after indexing
DocumentViewer1.Done() Clear_Tempfiles()
EMAIL.Clear_TempFiles()
CancelAttempts = 2 Catch ex As Exception
Me.Close() MsgBox("Uncaught error while indexing: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
End If
End If
' Clear all temp files after indexing ' Clear all temp files in case of an error
Clear_Tempfiles() Clear_Tempfiles()
EMAIL.Clear_TempFiles() EMAIL.Clear_TempFiles()
Finally
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End Try
End Sub End Sub
Private Sub Clear_Tempfiles() Private Sub Clear_Tempfiles()
@@ -2814,7 +2841,7 @@ Public Class frmIndex
End Sub End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
ClassDatabase.Execute_non_Query($"DELETE FROM TBGI_FILES_USER WHERE GUID = {CURRENT_WORKFILE_GUID}", True) DATABASE_ECM.ExecuteNonQuery($"DELETE FROM TBGI_FILES_USER WHERE GUID = {CURRENT_WORKFILE_GUID}")
CancelAttempts = 2 CancelAttempts = 2
Close() Close()

View File

@@ -82,7 +82,7 @@ Public Class frmIndexFileList
End If End If
LOGGER.Debug("Removing file from user files: [{0}]", oFilePath) LOGGER.Debug("Removing file from user files: [{0}]", oFilePath)
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & oGuid, True) DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE GUID = " & oGuid)
End If End If
Next Next
@@ -119,7 +119,7 @@ Public Class frmIndexFileList
Private Sub frmIndexFileList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing Private Sub frmIndexFileList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If DialogResult = DialogResult.Cancel Then If DialogResult = DialogResult.Cancel Then
Try Try
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True) DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
Catch ex As Exception Catch ex As Exception
MsgBox("Error while deleting User Files: " & ex.Message, MsgBoxStyle.Critical, Text) MsgBox("Error while deleting User Files: " & ex.Message, MsgBoxStyle.Critical, Text)
LOGGER.Error(ex) LOGGER.Error(ex)

View File

@@ -1,7 +1,6 @@
Imports System.Resources Imports System.Resources
Imports DLLLicenseManager
Public Class frmLicense Public Class frmLicense
Public _lizenzManager As ClassLicenseManager
Private LocRM As ResourceManager Private LocRM As ResourceManager
Private Sub btnPW_check_Click(sender As System.Object, e As System.EventArgs) Handles btnPW_check.Click Private Sub btnPW_check_Click(sender As System.Object, e As System.EventArgs) Handles btnPW_check.Click
If Me.txtPW.Text <> "" Then If Me.txtPW.Text <> "" Then
@@ -25,10 +24,10 @@ Public Class frmLicense
Try Try
If Me.txtNewlicences.Text <> "" And txtProfile.Text <> "" Then If Me.txtNewlicences.Text <> "" And txtProfile.Text <> "" Then
'Encode the license 'Encode the license
Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text & "#" & txtProfile.Text & "#" & txtHotKey.Text, "#DigitalData35452!#") Dim result As String = ClassLicence.LicenseManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text & "#" & txtProfile.Text & "#" & txtHotKey.Text, "#DigitalData35452!#")
txtlicensekey.Text = result txtlicensekey.Text = result
Dim sql As String = "UPDATE TBGI_CONFIGURATION SET LICENSEKEY = '" & result & "' where guid = 1" Dim sql As String = "UPDATE TBGI_CONFIGURATION SET LICENSEKEY = '" & result & "' where guid = 1"
If ClassDatabase.Execute_non_Query(sql, True) = True Then If DATABASE_ECM.ExecuteNonQuery(sql) = True Then
Refresh_Licence(True) Refresh_Licence(True)
End If End If
@@ -41,11 +40,10 @@ Public Class frmLicense
Sub Refresh_Licence(Neu As Boolean) Sub Refresh_Licence(Neu As Boolean)
Dim lizenzzahl As Integer Dim lizenzzahl As Integer
Try Try
Me._lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "")
Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1" Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1"
Dim lic As String = ClassDatabase.Execute_Scalar(sql, MyConnectionString) Dim lic As String = DATABASE_ECM.GetScalarValue(sql)
Dim licString = Me._lizenzManager.DecodeLicenseKey(lic) Dim licString = ClassLicence.LicenseManager.DecodeLicenseKey(lic)
Dim split() = licString.ToString.Split("#") Dim split() = licString.ToString.Split("#")

View File

@@ -28,7 +28,7 @@
Private Sub frmNamenkonvention_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmNamenkonvention_Load(sender As Object, e As EventArgs) Handles Me.Load
Try Try
Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1" Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES WHERE GUID = 1"
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql) Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql)
For Each row As DataRow In DT.Rows For Each row As DataRow In DT.Rows
FILE_DELIMITER = row.Item("FILE_DELIMITER") FILE_DELIMITER = row.Item("FILE_DELIMITER")
VERSION_DELIMITER = row.Item("VERSION_DELIMITER") VERSION_DELIMITER = row.Item("VERSION_DELIMITER")

View File

@@ -26,15 +26,16 @@ Public Class SQLConfigAutoIndex
End If End If
Next Next
Dim typeCS As String = ClassDatabase.Execute_Scalar("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue, MyConnectionString, True) Dim typeCS As String = DATABASE_ECM.GetScalarValue("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue)
Dim dt As DataTable Dim dt As DataTable
If typeCS.Length > 0 Then If typeCS.Length > 0 Then
Dim CS As String Dim CS As String
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue) CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
If typeCS.ToUpper = "Oracle".ToUpper Then If typeCS.ToUpper = "Oracle".ToUpper Then
dt = ClassDatabase.Oracle_Return_Datatable(query, CS, True) dt = ClassDatabase.Oracle_Return_Datatable(query, CS, True)
Else Else
dt = ClassDatabase.Return_Datatable_CS(query, CS, True) 'dt = ClassDatabase.Return_Datatable_CS(query, CS, True)
dt = DATABASE_ECM.GetDatatableWithConnection(query, CS)
End If End If
End If End If
@@ -127,7 +128,7 @@ Public Class SQLConfigAutoIndex
Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBDD_INDEX_MANTableAdapter.Connection.ConnectionString = MyConnectionString Me.TBDD_INDEX_MANTableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION) Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION)
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO) Dim DT As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO)
If DT.Rows.Count = 1 Then If DT.Rows.Count = 1 Then
Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID") Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID")
SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT") SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT")
@@ -151,17 +152,17 @@ Public Class SQLConfigAutoIndex
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnsave.Click Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnsave.Click
Try Try
Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, MyConnectionString, True) Dim origresultstring = DATABASE_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO)
'Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, True) 'Dim origConnection = DATABASE_ECM.GetScalarValue("SELECT CONNECTION_ID FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, True)
'If origConnection Is DBNull Then 'If origConnection Is DBNull Then
'End If 'End If
Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''") Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''")
If insresultstring <> origresultstring Then If insresultstring <> origresultstring Then
Dim cmd As String Dim cmd As String
cmd = "UPDATE TBDD_INDEX_AUTOM SET CONNECTION_ID = " & cmbConnection.SelectedValue & ", SQL_RESULT = '" & insresultstring & "', CHANGED_WHO = '" & _ cmd = "UPDATE TBDD_INDEX_AUTOM SET CONNECTION_ID = " & cmbConnection.SelectedValue & ", SQL_RESULT = '" & insresultstring & "', CHANGED_WHO = '" &
Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXAUTO Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXAUTO
If ClassDatabase.Execute_non_Query(cmd, True) = True Then If DATABASE_ECM.ExecuteNonQuery(cmd) = True Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
lblSave.Text = "SQL-Daten gespeichert - " & Now lblSave.Text = "SQL-Daten gespeichert - " & Now
Else Else
@@ -320,26 +321,27 @@ Public Class SQLConfigAutoIndex
type = "'VIEW'" type = "'VIEW'"
End If End If
Dim typeCS As String = ClassDatabase.Execute_Scalar("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue, MyConnectionString, True) Dim typeCS As String = DATABASE_ECM.GetScalarValue("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue)
Dim dt As DataTable Dim dt As DataTable
If typeCS.Length > 0 Then If typeCS.Length > 0 Then
Dim SQL As String = "SELECT TABLE_NAME from information_schema.tables where TABLE_TYPE = " & type & " ORDER BY TABLE_NAME" Dim oSQL As String = "SELECT TABLE_NAME from information_schema.tables where TABLE_TYPE = " & type & " ORDER BY TABLE_NAME"
Dim CS As String Dim CS As String
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue) CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
If typeCS.ToUpper = "Oracle".ToUpper Then If typeCS.ToUpper = "Oracle".ToUpper Then
If type = "'VIEW'" Then If type = "'VIEW'" Then
'DB-Abfrage für alle Views definieren 'DB-Abfrage für alle Views definieren
SQL = "select VIEW_NAME from USER_VIEWS" oSQL = "select VIEW_NAME from USER_VIEWS"
Else Else
'DB-Abfrage für alle Tables definieren 'DB-Abfrage für alle Tables definieren
SQL = "select TABLE_NAME from USER_TABLES" oSQL = "select TABLE_NAME from USER_TABLES"
End If End If
dt = ClassDatabase.Oracle_Return_Datatable(SQL, CS, True) dt = ClassDatabase.Oracle_Return_Datatable(oSQL, CS, True)
Else Else
SQL = "SELECT TABLE_NAME from information_schema.tables where TABLE_TYPE = " & type & " ORDER BY TABLE_NAME" oSQL = "SELECT TABLE_NAME from information_schema.tables where TABLE_TYPE = " & type & " ORDER BY TABLE_NAME"
dt = ClassDatabase.Return_Datatable_CS(SQL, CS, True) 'dt = ClassDatabase.Return_Datatable_CS(SQL, CS, True)
dt = DATABASE_ECM.GetDatatableWithConnection(oSQL, CS)
End If End If
If dt IsNot Nothing Then If dt IsNot Nothing Then
cmbFromTables.Items.Clear() cmbFromTables.Items.Clear()
@@ -360,8 +362,8 @@ Public Class SQLConfigAutoIndex
Private Sub GetColumns(tableName As String, ByRef combobox As ComboBox) Private Sub GetColumns(tableName As String, ByRef combobox As ComboBox)
Try Try
Dim CS As String Dim CS As String
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue) CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
Dim typeCS As String = ClassDatabase.Execute_Scalar("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue, MyConnectionString, True) Dim typeCS As String = DATABASE_ECM.GetScalarValue("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue)
Dim SQL As String Dim SQL As String
Dim DT As DataTable Dim DT As DataTable
If typeCS.ToUpper = "Oracle".ToUpper Then If typeCS.ToUpper = "Oracle".ToUpper Then
@@ -369,7 +371,8 @@ Public Class SQLConfigAutoIndex
DT = ClassDatabase.Oracle_Return_Datatable(SQL, CS, True) DT = ClassDatabase.Oracle_Return_Datatable(SQL, CS, True)
Else Else
SQL = "SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('" & tableName & "') ORDER BY name" SQL = "SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('" & tableName & "') ORDER BY name"
DT = ClassDatabase.Return_Datatable_CS(SQL, CS, True) 'DT = ClassDatabase.Return_Datatable_CS(SQL, CS, True)
DT = DATABASE_ECM.GetDatatableWithConnection(SQL, CS)
End If End If
If DT IsNot Nothing Then If DT IsNot Nothing Then

View File

@@ -10,10 +10,10 @@ Public Class frmSQLSuggestion
Dim i As Integer Dim i As Integer
connectionString = ClassFormFunctions.GetConnectionString(conid) connectionString = DATABASE_ECM.Get_ConnectionStringforID(conid)
If connectionString <> "" Then If connectionString <> "" Then
If connectionString.Contains("Initial Catalog=") Then If connectionString.Contains("Initial Catalog=") Then
'Dim DT As DataTable = ClassDatabase.Return_Datatable(sql_Vorschlag) 'Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql_Vorschlag)
'If DT Is Nothing = False Then 'If DT Is Nothing = False Then
' Dim y As Integer = 0 ' Dim y As Integer = 0
' For Each row As DataRow In DT.Rows ' For Each row As DataRow In DT.Rows
@@ -100,7 +100,7 @@ Public Class frmSQLSuggestion
'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen. 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen.
Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION) Me.TBDD_CONNECTIONTableAdapter.Fill(Me.MyDataset.TBDD_CONNECTION)
Dim DT As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN) Dim DT As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
If DT.Rows.Count = 1 Then If DT.Rows.Count = 1 Then
Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID") Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID")
SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT") SQL_ERGEBNISTextBox.Text = DT.Rows(0).Item("SQL_RESULT")
@@ -129,9 +129,9 @@ Public Class frmSQLSuggestion
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try Try
ClassDatabase.Init() ClassDatabase.Init()
Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim origresultstring = DATABASE_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
Dim origcheckstring = ClassDatabase.Execute_Scalar("SELECT SQL_CHECK FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim origcheckstring = DATABASE_ECM.GetScalarValue("SELECT SQL_CHECK FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True) Dim origConnection = DATABASE_ECM.GetScalarValue("SELECT CONNECTION_ID FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''") Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''")
Dim inscheckstring = SQL_UEBERPRUEFUNGTextBox.Text.Replace("'", "''") Dim inscheckstring = SQL_UEBERPRUEFUNGTextBox.Text.Replace("'", "''")
If insresultstring <> origresultstring Or _ If insresultstring <> origresultstring Or _
@@ -139,7 +139,7 @@ Public Class frmSQLSuggestion
Dim cmd As String Dim cmd As String
cmd = "UPDATE TBDD_INDEX_MAN SET CONNECTION_ID = " & cmbConnection.SelectedValue & ",SQL_RESULT = '" & insresultstring & "',SQL_CHECK = '" & inscheckstring & "',CHANGED_WHO = '" & _ cmd = "UPDATE TBDD_INDEX_MAN SET CONNECTION_ID = " & cmbConnection.SelectedValue & ",SQL_RESULT = '" & insresultstring & "',SQL_CHECK = '" & inscheckstring & "',CHANGED_WHO = '" & _
Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXMAN Environment.UserName & "' WHERE GUID = " & CURRENT_INDEXMAN
If ClassDatabase.Execute_non_Query(cmd, True) = True Then If DATABASE_ECM.ExecuteNonQuery(cmd) = True Then
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
lblSave.Text = "SQL-Daten erfolgreich gespeichert - " & Now lblSave.Text = "SQL-Daten erfolgreich gespeichert - " & Now
Else Else
@@ -166,7 +166,7 @@ Public Class frmSQLSuggestion
Private Sub btnTestNachbearbeitung_Click(sender As Object, e As EventArgs) Handles btnTestNachbearbeitung.Click Private Sub btnTestNachbearbeitung_Click(sender As Object, e As EventArgs) Handles btnTestNachbearbeitung.Click
'Die Nachbearbeitungsschritte laden 'Die Nachbearbeitungsschritte laden
Dim DTNB As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & CURRENT_INDEXMAN & " ORDER BY SEQUENCE") Dim DTNB As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = " & CURRENT_INDEXMAN & " ORDER BY SEQUENCE")
If DTNB Is Nothing = False Then If DTNB Is Nothing = False Then
If DTNB.Rows.Count > 0 Then If DTNB.Rows.Count > 0 Then
Dim value As String = ClassPostprocessing.Get_Nachbearbeitung_Wert(txtTest_idxMan.Text, DTNB) Dim value As String = ClassPostprocessing.Get_Nachbearbeitung_Wert(txtTest_idxMan.Text, DTNB)

View File

@@ -8,7 +8,7 @@ Public Class frmSQL_Admin
If txtSQL.Text <> "" Then If txtSQL.Text <> "" Then
If txtSQL.Text.ToLower.StartsWith("select") Then If txtSQL.Text.ToLower.StartsWith("select") Then
Dim dt As DataTable = ClassDatabase.Return_Datatable(txtSQL.Text, True) Dim dt As DataTable = DATABASE_ECM.GetDatatable(txtSQL.Text)
If Not dt Is Nothing Then If Not dt Is Nothing Then
XtraTabControl1.SelectedTabPageIndex = 1 XtraTabControl1.SelectedTabPageIndex = 1
BindingSource1.DataSource = dt BindingSource1.DataSource = dt

View File

@@ -66,7 +66,7 @@ Public Class frmSQL_DESIGNER
'TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString 'TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
'TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION) 'TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION)
' CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID), True) ' CURRENT_DT_SQL_CONFIG_TABLE = DATABASE_ECM.GetDatatable(String.Format("SELECT T.CONNECTION_ID,T1.BEZEICHNUNG AS 'CON_STRING',ISNULL(T.SQL_COMMAND,'') AS 'SQL_COMMAND' FROM TBPM_PROFILE_FINAL_INDEXING T, TBDD_CONNECTION T1 WHERE T.CONNECTION_ID = T1.GUID AND T.GUID = {0}", CURRENT_INDEX_ID), True)
'If (CURRENT_DESIGN_TYPE = "INPUT_INDEX") Or CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then 'If (CURRENT_DESIGN_TYPE = "INPUT_INDEX") Or CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then
' If CURRENT_DT_SQL_CONFIG_TABLE.Rows.Count = 1 Then ' If CURRENT_DT_SQL_CONFIG_TABLE.Rows.Count = 1 Then
' cmbConnection.SelectedValue = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CONNECTION_ID") ' cmbConnection.SelectedValue = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CONNECTION_ID")
@@ -74,7 +74,7 @@ Public Class frmSQL_DESIGNER
' End If ' End If
' Dim oSQL = String.Format("SELECT NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND CTRL_TYPE <> 'LBL' ORDER BY NAME", CURRENT_ProfilGUID) ' Dim oSQL = String.Format("SELECT NAME FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND CTRL_TYPE <> 'LBL' ORDER BY NAME", CURRENT_ProfilGUID)
' Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL, True) ' Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL, True)
' cmbControls.DataSource = oDatatable ' cmbControls.DataSource = oDatatable
' cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName ' cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName
' cmbControls.Visible = True ' cmbControls.Visible = True
@@ -181,7 +181,7 @@ Public Class frmSQL_DESIGNER
Dim connectionString As String Dim connectionString As String
connectionString = ClassDatabase.Get_ConnectionString(connectionId) connectionString = DATABASE_ECM.Get_ConnectionStringforID(connectionId)
If connectionString <> "" Then If connectionString <> "" Then
@@ -295,7 +295,7 @@ Public Class frmSQL_DESIGNER
Private Sub LoadConnections() Private Sub LoadConnections()
Try Try
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBDD_CONNECTION") Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable("SELECT * FROM TBDD_CONNECTION")
cmbConnection.ValueMember = "GUID" cmbConnection.ValueMember = "GUID"
cmbConnection.DisplayMember = "BEZEICHNUNG" cmbConnection.DisplayMember = "BEZEICHNUNG"
@@ -315,7 +315,7 @@ Public Class frmSQL_DESIGNER
Private Sub LoadControls() Private Sub LoadControls()
Try Try
Dim oDatatable = ClassDatabase.Return_Datatable($"SELECT * FROM TBDD_INDEX_MAN WHERE DOK_ID = {DocTypeId} AND ACTIVE = 1") Dim oDatatable = DATABASE_ECM.GetDatatable($"SELECT * FROM TBDD_INDEX_MAN WHERE DOK_ID = {DocTypeId} AND ACTIVE = 1")
cmbControls.ValueMember = "WD_INDEX" cmbControls.ValueMember = "WD_INDEX"
cmbControls.DisplayMember = "NAME" cmbControls.DisplayMember = "NAME"

View File

@@ -5,120 +5,26 @@ Imports System.Text
Imports System.Globalization Imports System.Globalization
Imports System.Threading Imports System.Threading
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Windows
Imports DigitalData.Modules.License
Public Class frmStart Public Class frmStart
Public _lizenzManager As ClassLicenseManager Public _lizenzManager As LicenseManagerLegacy
Dim loaded As Boolean = False
Dim WithEvents HotKey As New clsHotkey(Me)
Private Const mSnapOffset As Integer = 35
Private Const WM_WINDOWPOSCHANGING As Integer = &H46 Private Const WM_WINDOWPOSCHANGING As Integer = &H46
Private IndexForm As frmIndex Private IndexForm As frmIndex
<StructLayout(LayoutKind.Sequential)>
Public Structure WINDOWPOS
Public hwnd As IntPtr
Public hwndInsertAfter As IntPtr
Public x As Integer
Public y As Integer
Public cx As Integer
Public cy As Integer
Public flags As Integer
End Structure
Protected Overrides Sub WndProc(ByRef m As Message) Protected Overrides Sub WndProc(ByRef m As Message)
' Listen for operating system messages ' Listen for operating system messages
Select Case m.Msg Select Case m.Msg
Case WM_WINDOWPOSCHANGING Case WM_WINDOWPOSCHANGING
SnapToDesktopBorder(Me, m.LParam, 0) Window.SnapToDesktopBorder(Me, m.LParam)
End Select End Select
MyBase.WndProc(m) MyBase.WndProc(m)
End Sub End Sub
Public Shared Sub SnapToDesktopBorder(ByVal clientForm _
As Form, ByVal LParam As IntPtr, ByVal widthAdjustment As Integer)
If clientForm Is Nothing Then
' Satisfies rule: Validate parameters
Throw New ArgumentNullException("clientForm")
End If
' Snap client to the top, left, bottom or right desktop border
' as the form is moved near that border.
Try
' Marshal the LPARAM value which is a WINDOWPOS struct
Dim NewPosition As New WINDOWPOS
NewPosition = CType(Runtime.InteropServices.Marshal.PtrToStructure(
LParam, GetType(WINDOWPOS)), WINDOWPOS)
If NewPosition.y = 0 OrElse NewPosition.x = 0 Then
Return ' Nothing to do!
End If
' Adjust the client size for borders and caption bar
Dim ClientRect As Rectangle =
clientForm.RectangleToScreen(clientForm.ClientRectangle)
ClientRect.Width +=
SystemInformation.FrameBorderSize.Width - widthAdjustment
ClientRect.Height += (SystemInformation.FrameBorderSize.Height +
SystemInformation.CaptionHeight)
' Now get the screen working area (without taskbar)
Dim WorkingRect As Rectangle =
Screen.GetWorkingArea(clientForm.ClientRectangle)
' Left border
If NewPosition.x >= WorkingRect.X - mSnapOffset AndAlso
NewPosition.x <= WorkingRect.X + mSnapOffset Then
NewPosition.x = WorkingRect.X
End If
' Get screen bounds and taskbar height
' (when taskbar is horizontal)
Dim ScreenRect As Rectangle =
Screen.GetBounds(Screen.PrimaryScreen.Bounds)
Dim TaskbarHeight As Integer =
ScreenRect.Height - WorkingRect.Height
' Top border (check if taskbar is on top
' or bottom via WorkingRect.Y)
If NewPosition.y >= -mSnapOffset AndAlso
(WorkingRect.Y > 0 AndAlso NewPosition.y <=
(TaskbarHeight + mSnapOffset)) OrElse
(WorkingRect.Y <= 0 AndAlso NewPosition.y <=
(mSnapOffset)) Then
If TaskbarHeight > 0 Then
NewPosition.y = WorkingRect.Y ' Horizontal Taskbar
Else
NewPosition.y = 0 ' Vertical Taskbar
End If
End If
' Right border
If NewPosition.x + ClientRect.Width <=
WorkingRect.Right + mSnapOffset AndAlso
NewPosition.x + ClientRect.Width >=
WorkingRect.Right - mSnapOffset Then
NewPosition.x = WorkingRect.Right - (ClientRect.Width +
SystemInformation.FrameBorderSize.Width)
End If
' Bottom border
If NewPosition.y + ClientRect.Height <=
WorkingRect.Bottom + mSnapOffset AndAlso
NewPosition.y + ClientRect.Height >=
WorkingRect.Bottom - mSnapOffset Then
NewPosition.y = WorkingRect.Bottom - (ClientRect.Height +
SystemInformation.FrameBorderSize.Height)
End If
' Marshal it back
Runtime.InteropServices.Marshal.StructureToPtr(NewPosition,
LParam, True)
Catch ex As ArgumentException
End Try
End Sub
Private Sub frmMain_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop Private Sub frmMain_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop
DragDropForm(e) DragDropForm(e)
@@ -130,7 +36,7 @@ Public Class frmStart
Exit Sub Exit Sub
End If End If
'Erstmal alles löschen 'Erstmal alles löschen
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')") DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
If ClassFileDrop.Drop_File(e) = True Then If ClassFileDrop.Drop_File(e) = True Then
TimerCheckDroppedFiles.Start() TimerCheckDroppedFiles.Start()
End If End If
@@ -158,9 +64,9 @@ Public Class frmStart
Sub Check_Dropped_Files() Sub Check_Dropped_Files()
Try Try
ClassDatabase.Execute_non_Query($"DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')") DATABASE_ECM.ExecuteNonQuery($"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 If oFiledropString IsNot Nothing Then
LOGGER.Info(">> Check Drop-File: " & oFiledropString.ToString) LOGGER.Info(">> Check Drop-File: " & oFiledropString.ToString)
Dim oLastPipe = oFiledropString.LastIndexOf("|") Dim oLastPipe = oFiledropString.LastIndexOf("|")
@@ -175,7 +81,7 @@ Public Class frmStart
Dim sql As String = $"SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')" Dim sql As String = $"SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('{Environment.UserName}')"
DTACTUAL_FILES = Nothing DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True) DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
ABORT_INDEXING = False ABORT_INDEXING = False
Dim oOnlyFilesFromFilesystem = True Dim oOnlyFilesFromFilesystem = True
@@ -191,7 +97,7 @@ Public Class frmStart
LOGGER.Debug("Email Indexing Dialog closed, checking for files to be indexed") LOGGER.Debug("Email Indexing Dialog closed, checking for files to be indexed")
DTACTUAL_FILES = Nothing DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True) DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
End If End If
If DTACTUAL_FILES.Rows.Count = 0 Then If DTACTUAL_FILES.Rows.Count = 0 Then
@@ -211,11 +117,13 @@ Public Class frmStart
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK") CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_GUID = Filerow.Item(0) CURRENT_WORKFILE_GUID = Filerow.Item(0)
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK") 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) LOGGER.Info(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE)
If File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then If IO.File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then
Open_IndexDialog() Open_IndexDialog()
Else
Throw New FileNotFoundException("Dropped file does not exist anymore!")
End If End If
' If multi-indexing is active, all files have been indexed by now, so we can leave the loop ' If multi-indexing is active, all files have been indexed by now, so we can leave the loop
@@ -247,24 +155,13 @@ Public Class frmStart
Try Try
If START_INCOMPLETE = False Then If START_INCOMPLETE = False Then
Dim Sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')" Dim Sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')"
ClassDatabase.Execute_non_Query(Sql, True) DATABASE_ECM.ExecuteNonQuery(Sql)
End If End If
ClassWindowLocation.SaveFormLocationSize(Me) ClassWindowLocation.SaveFormLocationSize(Me)
Catch ex As Exception Catch ex As Exception
MsgBox("Unexpected Error in Closing Application: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Closing Application: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try 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 Try
IndexForm.DisposeViewer() IndexForm.DisposeViewer()
IndexForm.Dispose() IndexForm.Dispose()
@@ -328,7 +225,7 @@ Public Class frmStart
ToolStripSeparator1.Visible = False ToolStripSeparator1.Visible = False
AdministrationToolStripMenuItem.Visible = False AdministrationToolStripMenuItem.Visible = False
End If End If
ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True) DATABASE_ECM.ExecuteNonQuery("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
TopMost = True TopMost = True
@@ -466,7 +363,7 @@ Public Class frmStart
End Sub End Sub
Private Sub TimerFolderWatch_Tick(sender As Object, e As EventArgs) Handles TimerFolderWatch.Tick Private Sub TimerFolderWatch_Tick(sender As Object, e As EventArgs) Handles TimerFolderWatch.Tick
If ClassDatabase.DatabaseConnectionTimeout = True Then If DATABASE_ECM.DBInitialized = False Then
TimerFolderWatch.Enabled = False TimerFolderWatch.Enabled = False
Dim title = "Critical Error" Dim title = "Critical Error"
@@ -495,7 +392,7 @@ Public Class frmStart
If FW_started = True Or CONFIG.Config.FolderWatchScanStarted = True Then If FW_started = True Or CONFIG.Config.FolderWatchScanStarted = True Then
'Prüfen ob alle Files abgearbeitet wurden 'Prüfen ob alle Files abgearbeitet wurden
Dim sql = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND HANDLE_TYPE like '%|FW%' AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')" Dim sql = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND HANDLE_TYPE like '%|FW%' AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True) DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
If DTACTUAL_FILES.Rows.Count > 0 Then If DTACTUAL_FILES.Rows.Count > 0 Then
ABORT_INDEXING = False ABORT_INDEXING = False
@@ -521,7 +418,7 @@ Public Class frmStart
Else Else
LOGGER.Info(">> File not existing - Row will be deleted!") LOGGER.Info(">> File not existing - Row will be deleted!")
Dim del = String.Format("DELETE FROM TBGI_FILES_USER WHERE GUID = {0}", FILEGUID) Dim del = String.Format("DELETE FROM TBGI_FILES_USER WHERE GUID = {0}", FILEGUID)
ClassDatabase.Execute_non_Query(del) DATABASE_ECM.ExecuteNonQuery(del)
End If End If
Else Else
LOGGER.Info(">> file '" & row.Item(1) & "' could not be opened exclusively - fileInUse!") LOGGER.Info(">> file '" & row.Item(1) & "' could not be opened exclusively - fileInUse!")
@@ -568,10 +465,9 @@ Public Class frmStart
Else Else
TimerFolderWatch.Start() TimerFolderWatch.Start()
End If End If
loaded = True
Opacity = 0.7 Opacity = 0.7
ClassHelper.Refresh_RegexTable() CURRENT_DT_REGEX = DATABASE_ECM.GetDatatable("SELECT * FROM TBGI_FUNCTION_REGEX")
Start_Folderwatch() Start_Folderwatch()
ClassWindowLocation.LoadFormLocationSize(Me, LoadSize:=False) ClassWindowLocation.LoadFormLocationSize(Me, LoadSize:=False)
@@ -613,14 +509,13 @@ Public Class frmStart
} }
If oOpenFileDialog.ShowDialog() = DialogResult.OK Then If oOpenFileDialog.ShowDialog() = DialogResult.OK Then
Dim i As Integer = 0 ClassFileDrop.FilesDropped.Clear()
ClassFileDrop.files_dropped = Nothing
For Each oFileName In oOpenFileDialog.FileNames For Each oFileName In oOpenFileDialog.FileNames
ReDim Preserve ClassFileDrop.files_dropped(i)
LOGGER.Info(">> Chosen File: " & oFileName) LOGGER.Info(">> Chosen File: " & oFileName)
ClassFileDrop.files_dropped(i) = "|DROPFROMFSYSTEM|" & oFileName ClassFileDrop.FilesDropped.Add("|DROPFROMFSYSTEM|" & oFileName)
i += 1
Next Next
TimerCheckDroppedFiles.Start() TimerCheckDroppedFiles.Start()
End If End If
Catch ex As Exception Catch ex As Exception

View File

@@ -113,12 +113,13 @@
<File Id="Globix" Name="DigitalData.GUIs.GlobalIndexer.dll" Source="DigitalData.GUIs.GlobalIndexer.dll" KeyPath="no" /> <File Id="Globix" Name="DigitalData.GUIs.GlobalIndexer.dll" Source="DigitalData.GUIs.GlobalIndexer.dll" KeyPath="no" />
<File Id="Filesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll" KeyPath="no" /> <File Id="Filesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll" KeyPath="no" />
<File Id="Config" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll" KeyPath="no" /> <File Id="Config" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll" KeyPath="no" />
<File Id="DLLLicenseManager" Name="DLLLicenseManager.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll" KeyPath="no" />
<File Id="DocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll" KeyPath="no" /> <File Id="DocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll" KeyPath="no" />
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll" KeyPath="no" /> <File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll" KeyPath="no" />
<File Id="Windream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll" KeyPath="no" /> <File Id="Windream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll" KeyPath="no" />
<File Id="Windows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll" KeyPath="no" /> <File Id="Windows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll" KeyPath="no" />
<File Id="Language" Name="DigitalData.Modules.Language.dll" Source="DigitalData.Modules.Language.dll" KeyPath="no" /> <File Id="Language" Name="DigitalData.Modules.Language.dll" Source="DigitalData.Modules.Language.dll" KeyPath="no" />
<File Id="License" Name="DigitalData.Modules.License.dll" Source="DigitalData.Modules.License.dll" KeyPath="no" />
<File Id="Database" Name="DigitalData.Modules.Database.dll" Source="DigitalData.Modules.Database.dll" KeyPath="no" />
<File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" /> <File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" />
<File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" /> <File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />