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 Const VECTORSEPARATOR = ""
Public Const INDEX_TYPE_BOOLEAN = "BOOLEAN"
Public Const INDEX_TYPE_INTEGER = "INTEGER"
Public Const INDEX_TYPE_VARCHAR = "VARCHAR"
End Class

View File

@@ -1,7 +1,7 @@
Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language
Public Class ClassControls
Private Property Form As frmIndex
@@ -27,7 +27,7 @@ Public Class ClassControls
chk.Location = New Point(11, y)
chk.Tag = New ControlMeta() With {
.IndexName = indexname,
.IndexType = "BOOLEAN"
.IndexType = ClassConstants.INDEX_TYPE_BOOLEAN
}
If caption <> "" Then
@@ -107,7 +107,7 @@ Public Class ClassControls
' oSql = ClassPatterns.ReplaceInternalValues(oSql)
' 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
' End If
' Else
@@ -188,7 +188,7 @@ Public Class ClassControls
Try
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 DT As DataTable = ClassDatabase.Return_Datatable(sql, True)
Dim DT As DataTable = DATABASE_ECM.GetDatatable(sql)
If Not IsNothing(DT) Then
If DT.Rows.Count > 0 Then
Dim cmbname = "cmb" & DT.Rows(0).Item("NAME")
@@ -215,7 +215,7 @@ Public Class ClassControls
Dim NewDataset As New DataSet
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
Exit Sub
End If
@@ -229,7 +229,7 @@ Public Class ClassControls
Dim cmb As ComboBox = ctrl
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
'SQL Befehl füllt die Auswahlliste
@@ -312,7 +312,7 @@ Public Class ClassControls
}
Select Case DataType
Case "INTEGER"
Case ClassConstants.INDEX_TYPE_INTEGER
oEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric
oEdit.Properties.Mask.EditMask = "d"
Console.WriteLine()
@@ -400,15 +400,15 @@ Public Class ClassControls
Dim oMeta = DirectCast(Control.Tag, ClassControls.ControlMeta)
Dim oIndexName As String = oMeta.IndexName
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
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows
Dim oControlName As String = NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "")
Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
@@ -436,8 +436,8 @@ Public Class ClassControls
Exit Sub
End If
Dim oConnectionString = ClassFormFunctions.GetConnectionString(SqlConnectionId)
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable_CS(SqlCommand, oConnectionString)
Dim oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(SqlConnectionId)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(SqlCommand)
Dim oFoundControl As Control = Nothing
For Each oControl As Control In Panel.Controls

View File

@@ -23,54 +23,6 @@ Public Class ClassDatabase
End Try
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
Try
Dim SQLconnect As New SqlConnection
@@ -148,110 +100,7 @@ Public Class ClassDatabase
Return Nothing
End Try
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)
Dim result
Try

View File

@@ -8,7 +8,7 @@
(DOCTYPE_ID, GROUP_ID, ADDED_WHO)
VALUES ({ProfileId}, {GroupId}, '{Environment.UserName}')
"
Return ClassDatabase.Execute_non_Query(oSQL, True)
Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception
LOGGER.Error(ex)
Return False
@@ -18,7 +18,7 @@
Public Shared Function RemoveGroupFromProfile(GroupId As Integer, ProfileId As Integer) As Boolean
Try
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
LOGGER.Error(ex)
Return False
@@ -36,7 +36,7 @@
WHERE DOCTYPE_ID = {ProfileId}
)
"
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable
Catch ex As Exception
@@ -56,7 +56,7 @@
WHERE DOCTYPE_ID = {ProfileId}
)
"
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable
Catch ex As Exception
@@ -75,7 +75,7 @@
(DOCTYPE_ID, USER_ID, ADDED_WHO)
VALUES ({ProfileId}, {UserId}, '{Environment.UserName}')
"
Return ClassDatabase.Execute_non_Query(oSQL, True)
Return DATABASE_ECM.ExecuteNonQuery(oSQL)
Catch ex As Exception
LOGGER.Error(ex)
Return False
@@ -85,7 +85,7 @@
Public Shared Function RemoveUserFromProfile(UserId As Integer, ProfileId As Integer) As Boolean
Try
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
LOGGER.Error(ex)
Return False
@@ -102,7 +102,7 @@
WHERE DOCTYPE_ID = {ProfileId}
)
"
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
Return oDatatable
Catch ex As Exception
@@ -122,7 +122,7 @@
)
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
Catch ex As Exception

View File

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

View File

@@ -6,11 +6,25 @@ Imports DigitalData.Modules.Language
Imports Limilabs.Mail
Public Class ClassFilehandle
Public Shared Function Decide_FileHandle(pFilename As String, pHandletype As String)
Public Shared Function Decide_FileHandle(pFilepath As String, pHandletype As String)
Try
If pFilename.ToUpper.EndsWith(".MSG") Or pFilename.ToUpper.EndsWith(".EML") Then
'TODO: Before doing anything, clean the filename
Dim oFilename = IO.Path.GetFileName(pFilepath)
Dim oCleanFileName = Utils.RemoveInvalidCharacters(oFilename)
Dim oTempDirectory = IO.Path.GetTempPath()
Dim oTempFilePath = IO.Path.Combine(oTempDirectory, oCleanFileName)
Try
TEMP_FILES.Add(oTempFilePath)
IO.File.Copy(pFilepath, oTempFilePath, True)
Catch ex As Exception
LOGGER.Error(ex)
Throw ex
End Try
If oTempFilePath.ToUpper.EndsWith(".MSG") Or oTempFilePath.ToUpper.EndsWith(".EML") Then
CURRENT_MESSAGEID = ""
Dim oMail As IMail = EMAIL.Load_Email(pFilename)
Dim oMail As IMail = EMAIL.Load_Email(oTempFilePath)
If oMail.Attachments.Count > 0 Then
Dim oTitle As String
Dim oMessage As String
@@ -28,14 +42,15 @@ Public Class ClassFilehandle
' https://stackoverflow.com/questions/1220882/keep-messagebox-show-on-top-of-other-application-using-c-sharp
oResult = MessageBox.Show(oMessage, oTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
If oResult = MsgBoxResult.Yes Then
Dim oIsFolderWatch = pHandletype.StartsWith("|FW")
Return Save_EmailAndAttachmentsToDisk(pFilename, oIsFolderWatch)
Return Save_EmailAndAttachmentsToDisk(oTempFilePath, oIsFolderWatch)
End If
End If
End If
If pFilename.ToUpper.EndsWith(".LNK") Then
If oTempFilePath.ToUpper.EndsWith(".LNK") Then
If USER_LANGUAGE = "de-DE" Then
MsgBox("Verknüpfungen können nicht abgelegt werden!", MsgBoxStyle.Critical, "Global Indexer")
Else
@@ -44,7 +59,7 @@ Public Class ClassFilehandle
Return False
End If
Return Insert_GI_File(pFilename, pHandletype)
Return Insert_GI_File(oTempFilePath, pHandletype)
Catch ex As Exception
MsgBox("Unexpected Error in Decide_FileHandle: " & ex.Message, MsgBoxStyle.Critical)
Return False
@@ -204,7 +219,7 @@ Public Class ClassFilehandle
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}')"
Return ClassDatabase.Execute_non_Query(ins, True)
Return DATABASE_ECM.ExecuteNonQuery(ins)
Catch ex As Exception
Return False

View File

@@ -171,11 +171,6 @@ Public Class ClassFolderWatcher
End If
End Function
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
For Each row As DataRow In DTEXCLUDE_FILES.Rows
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()
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
Public IDBSystemIndices As List(Of String)
Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String()
Try
@@ -101,7 +104,10 @@
LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ")
End If
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
If odt.Rows.Count = 1 Then
oAttributeValue = odt.Rows(0).Item(0)
@@ -122,7 +128,9 @@
oID_IS_FOREIGN = 1
End If
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
LOGGER.Error(ex)
@@ -133,7 +141,9 @@
Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object
Try
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
LOGGER.Error(ex)
@@ -207,7 +217,10 @@
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
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"
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
Return False
End If
@@ -215,7 +228,9 @@
Return True
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"
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
Catch ex As Exception

View File

@@ -33,7 +33,8 @@ Public Class ClassIndexFunctions
'If oResult.Rows.Count = 0 Then
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
Return Nothing

View File

@@ -4,13 +4,11 @@ Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Windream
Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Messaging
Imports DigitalData.Modules.Database
Imports DLLLicenseManager
Public Class ClassInit
Public _lizenzManager As ClassLicenseManager
Public Sub InitLogger()
ClassLogger.Init("", Environment.UserName)
LOGCONFIG = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing,
CompanyName:=My.Application.Info.CompanyName,
ProductName:=My.Application.Info.ProductName)
@@ -45,11 +43,22 @@ Public Class ClassInit
End If
If MyConnectionString <> String.Empty Then
' === NEW ===
DATABASE_ECM = New MSSQLServer(LOGCONFIG, MyConnectionString)
dbResult = DATABASE_ECM.DBInitialized
' === OLD ===
dbResult = ClassDatabase.Init()
Else
MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information)
ERROR_STATE = "NO DB-CONNECTION"
frmConfig_Basic.ShowDialog()
' === NEW ===
DATABASE_ECM = New MSSQLServer(LOGCONFIG, MyConnectionString)
dbResult = DATABASE_ECM.DBInitialized
' === OLD ===
dbResult = ClassDatabase.Init()
End If
@@ -79,7 +88,7 @@ Public Class ClassInit
Else
If IDB_ACTIVE = False Then
Try
WINDREAM = New Windream(LOGCONFIG, False, WMDrive, "\\windream\objects", True, "", "", "", "")
WINDREAM = New Windream(LOGCONFIG, False, WMDrive, WINDREAM_BASEPATH, True, "", "", "", "")
If Not IsNothing(WINDREAM) Then
If WINDREAM.SessionLoggedin = True Then
LOGGER.Debug("windream initialisiert")
@@ -100,13 +109,13 @@ Public Class ClassInit
Try
ClassDatabase.Init()
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
GI_withWindream = DT.Rows(0).Item("BIT1")
'vWLaufwerk = DT.Rows(0).Item("STRING1")
End If
oSql = "SELECT * FROM TBDD_BASECONFIG"
DT = ClassDatabase.Return_Datatable(oSql)
DT = DATABASE_ECM.GetDatatable(oSql)
If DT.Rows.Count = 1 Then
WMDrive = DT.Rows(0).Item("WM_DRIVE")
Return True
@@ -123,7 +132,7 @@ Public Class ClassInit
Public Sub Init_Folderwatch()
Try
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)
@@ -158,7 +167,7 @@ Public Class ClassInit
Try
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)
@@ -186,50 +195,13 @@ Public Class ClassInit
LOGGER.Info($"Init_Folderwatch: Unexpected error: {ex.Message}")
START_INCOMPLETE = True
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
Public Sub InitUserLogin()
Try
Dim oSql As String
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
LOGGER.Info("DT_CHECKUSER_MODULE.Rows.Count = 0")
START_INCOMPLETE = True
@@ -238,22 +210,25 @@ Public Class ClassInit
Exit Sub
End If
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!")
START_INCOMPLETE = True
Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!")
Exit Sub
End If
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID")
USER_SURNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME"))
USER_PRENAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME"))
USER_SHORTNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME"))
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
USERCOUNT_LOGGED_IN = DT_CHECKUSER_MODULE.Rows(0).Item("USERCOUNT_LOGGED_IN")
USER_IN_MODULE = oRow.Item("MODULE_ACCESS")
USER_ID = oRow.Item("USER_ID")
USER_SURNAME = IIf(IsDBNull(oRow.Item("USER_SURNAME")), "", oRow.Item("USER_SURNAME"))
USER_PRENAME = IIf(IsDBNull(oRow.Item("USER_PRENAME")), "", oRow.Item("USER_PRENAME"))
USER_SHORTNAME = IIf(IsDBNull(oRow.Item("USER_SHORTNAME")), "", oRow.Item("USER_SHORTNAME"))
USER_EMAIL = IIf(IsDBNull(oRow.Item("USER_EMAIL")), "", oRow.Item("USER_EMAIL"))
USER_LANGUAGE = oRow.Item("USER_LANGUAGE")
USER_IN_MODULE = oRow.Item("MODULE_ACCESS")
USER_IS_ADMIN = oRow.Item("IS_ADMIN")
USERCOUNT_LOGGED_IN = oRow.Item("USERCOUNT_LOGGED_IN")
ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE)
If USER_IN_MODULE = False Then
LOGGER.Info(" - User: " & Environment.UserName & " nicht für Modul freigegben!")
@@ -263,12 +238,12 @@ Public Class ClassInit
Exit Sub
End If
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
USER_IS_ADMIN = oRow.Item("IS_ADMIN")
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"
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 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)
@@ -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)
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')"
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)"
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')"
' 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
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!")
If USER_IS_ADMIN = False Then
'Anmeldung wieder herausnehmen
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")
START_INCOMPLETE = True
End If

View File

@@ -1,15 +1,17 @@
Imports System.Globalization
Imports DLLLicenseManager
Imports DigitalData.Modules.License
Public Class ClassLicence
Public Shared License_Date As Date
Private Shared _lizenzManager As ClassLicenseManager
Public Shared LicenseDate As Date
Public Shared LicenseManager As LicenseManagerLegacy
Public Shared Sub Refresh_Licence()
Try
_lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "")
LicenseManager = New LicenseManagerLegacy(LOGCONFIG, "#DigitalData35452!#", "")
Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1"
Dim licEncoded As String = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
Dim licString As String = _lizenzManager.DecodeLicenseKey(licEncoded)
Dim licEncoded As String = DATABASE_ECM.GetScalarValue(sql)
Dim licString As String = LicenseManager.DecodeLicenseKey(licEncoded)
Dim licArray() As String = licString.ToString.Split("#")
If licEncoded <> "" Then
@@ -20,10 +22,10 @@ Public Class ClassLicence
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))
If License_Date < Now Then
If LicenseDate < Now 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)
Else
@@ -51,9 +53,9 @@ Public Class ClassLicence
Public Shared Function license_is_Valid()
If LICENSE_EXPIRED 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
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
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)
If DT_CHECKUSER.Rows.Count = 1 Then
USERCOUNT_LOGGED_IN = DT_CHECKUSER.Rows(0).Item("USERCOUNT_LOGGED_IN")
@@ -7,14 +9,6 @@
Catch ex As Exception
WORKING_MODE = ""
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("#")
@@ -23,26 +17,26 @@
For Each oMode In oSplitWorkMode
LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
If oMode.StartsWith("IDB_CONID!") Then
Dim CON_ID = oMode.Replace("GLOBIX.IDB_CONID!", "")
Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID)
Dim oConnectionId = oMode.Replace("GLOBIX.IDB_CONID!", "")
Dim oConString = DATABASE_ECM.Get_ConnectionStringforID(oConnectionId)
CONNECTION_STRING_IDB = oConString
DATABASE_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
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 oDT.Rows.Count > 0 Then
IDB_ACTIVE = True
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
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
ElseIf oMode.StartsWith("IDB.LOG_INDEX") Then
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
LOGGER.Info($"Wrong oMode: {oMode}")
End If

View File

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

View File

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

View File

@@ -4,90 +4,83 @@ Imports DigitalData.Modules.Filesystem
Imports DigitalData.Modules.Messaging
Module ModuleCURRENT
Public ERROR_STATE As String
Public START_INCOMPLETE As Boolean = False
Public CURRENT_FILENAME As String
Public CURRENT_NEWFILENAME As String
Public CURRENT_WORKFILE_GUID As Integer
Public CURRENT_WORKFILE_HASH As String
Public CURRENT_WORKFILE As String
Public CURR_WORKFILE_EXTENSION As String
Public Property TEMP_FILES As List(Of String) = New List(Of String)
Public CONFIG As ConfigManager(Of ClassConfig)
Public LOGCONFIG As LogConfig
Public LOGGER As Logger
Public FILESYSTEM As File
Public EMAIL As Email2
Public Property ERROR_STATE As String
Public Property START_INCOMPLETE As Boolean = False
Public Property CURRENT_FILENAME As String
Public Property CURRENT_NEWFILENAME As String
Public Property CURRENT_WORKFILE_GUID As Integer
Public Property CURRENT_WORKFILE_HASH As String
Public Property CURRENT_WORKFILE As String
Public Property CURR_WORKFILE_EXTENSION As String
Public CURRENT_DOKART_ID As Integer
Public CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default"
Public CURRENT_LASTDOKART As String = ""
Public CURRENT_INDEXMAN As Integer
Public CURRENT_INDEXAUTO As Integer
Public CURRENT_SQL_CONFIG As String
Public Property CONFIG As ConfigManager(Of ClassConfig)
Public Property LOGCONFIG As LogConfig
Public Property LOGGER As Logger
Public Property FILESYSTEM As File
Public Property EMAIL As Email2
Public VERSION_DELIMITER As String
Public FILE_DELIMITER As String
Public CURRENT_MESSAGEID As String
Public CURRENT_MESSAGEDATE As String
Public CURRENT_MESSAGESUBJECT As String
Public CURRENT_ISATTACHMENT As Boolean = False
Public Property CURRENT_DOKART_ID As Integer
Public Property CURRENT_DOKART_DUPLICATE_HANDLING As String = "Default"
Public Property CURRENT_LASTDOKART As String = ""
Public Property CURRENT_INDEXMAN As Integer
Public Property CURRENT_INDEXAUTO As Integer
Public USER_ID
Public USER_IN_MODULE As Boolean = False
Public USER_IS_ADMIN As Boolean = False
Public Property VERSION_DELIMITER As String
Public Property FILE_DELIMITER As String
Public Property CURRENT_MESSAGEID As String
Public Property CURRENT_MESSAGEDATE As String
Public Property CURRENT_MESSAGESUBJECT As String
Public Property CURRENT_ISATTACHMENT As Boolean = False
Public USER_SHORTNAME As String = ""
Public USER_PRENAME As String = ""
Public USER_SURNAME As String = ""
Public USER_EMAIL As String = ""
Public USER_LANGUAGE As String = "DE"
Public USER_USERNAME As String = ""
Public USERCOUNT_LOGGED_IN As Integer = 0
Public Property USER_ID
Public Property USER_IN_MODULE As Boolean = False
Public Property USER_IS_ADMIN As Boolean = False
Public CURRENT_FOLDERWATCH As String = ""
Public CURRENT_SCAN_FOLDERWATCH As String = ""
Public Property USER_SHORTNAME As String = ""
Public Property USER_PRENAME As String = ""
Public Property USER_SURNAME As String = ""
Public Property USER_EMAIL As String = ""
Public Property USER_LANGUAGE As String = "DE"
Public Property USER_USERNAME As String = ""
Public Property USERCOUNT_LOGGED_IN As Integer = 0
Public FWFunction_STARTED As Boolean = False
Public Property CURRENT_FOLDERWATCH As String = ""
Public Property CURRENT_SCAN_FOLDERWATCH As String = ""
Public CURR_DOKART_WD_DIRECT As Boolean = False
Public CURR_DOKART_OBJECTTYPE As String
Public CURRENT_WD_TEMPSEARCH As String = ""
Public Property FWFunction_STARTED As Boolean = False
Public LICENSE_EXPIRED As Boolean = False
Public LICENSE_COUNT As Integer = 0
Public LICENSE_DOCTYPE_COUNT As Integer = 0
Public DOCTYPE_COUNT_ACTUAL As Integer = 0
Public LicenseHotKey As Integer = 0
Public Property CURR_DOKART_WD_DIRECT As Boolean = False
Public Property CURR_DOKART_OBJECTTYPE As String
Public CURRENT_HTML_DOC As String
Public Property LICENSE_EXPIRED As Boolean = False
Public Property LICENSE_COUNT As Integer = 0
Public Property LICENSE_DOCTYPE_COUNT As Integer = 0
Public Property DOCTYPE_COUNT_ACTUAL As Integer = 0
Public Property LicenseHotKey As Integer = 0
Public INDEXING_ACTIVE As Boolean = False
Public MULTIINDEXING_ACTIVE As Boolean = False
Public ABORT_INDEXING As Boolean = False
Public Property INDEXING_ACTIVE As Boolean = False
Public Property MULTIINDEXING_ACTIVE As Boolean = False
Public Property ABORT_INDEXING As Boolean = False
Public DTACTUAL_FILES As DataTable
Public DTEXCLUDE_FILES As DataTable
Public DTTBGI_REGEX_DOCTYPE As DataTable
Public Property DTACTUAL_FILES As DataTable
Public Property DTEXCLUDE_FILES As DataTable
Public Property DTTBGI_REGEX_DOCTYPE As DataTable
Public CURRENT_SQLRESULT As String
Public DTSQL_RESULT As DataTable
Public TEMP_FILES As List(Of String) = New List(Of String)
Public Property CURRENT_SQLRESULT As String
Public Property DTSQL_RESULT As DataTable
Public CURRENT_FOCUSES_WINDOWNAME As String
Public Property LANGUAGE_CHANGED As Boolean = False
Public Property CURR_MISSING_PATTERN_NAME As String
Public Property CURR_MISSING_SEARCH_STRING As String
Public Property CURR_MISSING_MANUAL_VALUE As String
Public Property CURR_DELETE_ORIGIN As Boolean = False
Public Property CURRENT_DT_REGEX As DataTable
Public Property REGEX_CLEAN_FILENAME As String = "[?*^""<>|]"
Public Property CURRENT_DROPTYPE
Public LANGUAGE_CHANGED As Boolean = False
Public CURR_MISSING_PATTERN_NAME As String
Public CURR_MISSING_SEARCH_STRING As String
Public CURR_MISSING_MANUAL_VALUE As String
Public CURR_DELETE_ORIGIN As Boolean = False
Public CURRENT_DT_REGEX As DataTable
Public REGEX_CLEAN_FILENAME As String = "[?*^""<>|]"
Public CURRENT_DROPTYPE
Public VIEWER_LICENSE As String = ""
Public INDEX_FORM_LOADED As Boolean
Public Property VIEWER_LICENSE As String = ""
End Module

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.Xml
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Windream
Module ModuleRuntime
'Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
Public Const USER_CONFIG_FILE = "UserConfig.xml"
Public Const COMPUTER_CONFIG_FILE = "ComputerConfig.xml"
Public Const WINDREAM_BASEPATH = "\\windream\objects"
Public MyConnectionString As String = ""
Public LogErrorsOnly As Boolean = True
@@ -14,7 +16,7 @@ Module ModuleRuntime
Public FW_started As Boolean = False
Public IDB_ACTIVE As Boolean = False
Public WORKING_MODE As String
Public CONNECTION_STRING_IDB As String
Public Property CONNECTION_STRING_IDB As String
Public IDBData As ClassIDBData
Public IDB_USES_WMFILESTORE As Boolean = False
@@ -23,5 +25,8 @@ Module ModuleRuntime
Public IDB_DOC_ID As Int64
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

View File

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

View File

@@ -139,10 +139,10 @@ Partial Class frmAdministration
Me.GridColumn8 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label35 = New System.Windows.Forms.Label()
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.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.colBEZEICHNUNG = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label3 = New System.Windows.Forms.Label()
@@ -371,10 +371,10 @@ Partial Class frmAdministration
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).BeginInit()
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.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()
Me.XtraTabControl1.SuspendLayout()
Me.XtraTabPageProfiles.SuspendLayout()
@@ -974,28 +974,28 @@ Partial Class frmAdministration
'
resources.ApplyResources(Me.SplitContainerControl4, "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)
resources.ApplyResources(Me.SplitContainerControl4.Panel1, "SplitContainerControl4.Panel1")
Me.SplitContainerControl4.Panel2.Controls.Add(Me.XtraTabControl1)
resources.ApplyResources(Me.SplitContainerControl4.Panel2, "SplitContainerControl4.Panel2")
Me.SplitContainerControl4.SplitterPosition = 224
'
'GridControl1
'GridControlProfile
'
Me.GridControl1.CausesValidation = False
Me.GridControl1.DataSource = Me.TBDD_DOKUMENTARTBindingSource
resources.ApplyResources(Me.GridControl1, "GridControl1")
Me.GridControl1.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.GridControl1.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.GridControl1.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.GridControl1.MainView = Me.GridView1
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.ShowOnlyPredefinedDetails = True
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
Me.GridControlProfile.CausesValidation = False
Me.GridControlProfile.DataSource = Me.TBDD_DOKUMENTARTBindingSource
resources.ApplyResources(Me.GridControlProfile, "GridControlProfile")
Me.GridControlProfile.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridControl1.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
Me.GridControlProfile.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridControl1.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
Me.GridControlProfile.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridControl1.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
Me.GridControlProfile.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
Me.GridControlProfile.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridControl1.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
Me.GridControlProfile.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridControl1.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
Me.GridControlProfile.MainView = Me.GridViewProfile
Me.GridControlProfile.Name = "GridControlProfile"
Me.GridControlProfile.ShowOnlyPredefinedDetails = True
Me.GridControlProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewProfile})
'
'TBDD_DOKUMENTARTBindingSource
'
@@ -1007,24 +1007,24 @@ Partial Class frmAdministration
Me.MyDataset.DataSetName = "MyDataset"
Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'GridView1
'GridViewProfile
'
Me.GridView1.Appearance.EvenRow.BackColor = System.Drawing.Color.PaleTurquoise
Me.GridView1.Appearance.EvenRow.Options.UseBackColor = True
Me.GridView1.Appearance.FocusedRow.BackColor = System.Drawing.Color.Khaki
Me.GridView1.Appearance.FocusedRow.Options.UseBackColor = True
Me.GridView1.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colAKTIV, Me.colBEZEICHNUNG})
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
Me.GridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsBehavior.Editable = False
Me.GridView1.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridView1.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridView1.OptionsView.EnableAppearanceEvenRow = True
Me.GridView1.OptionsView.ShowAutoFilterRow = True
Me.GridView1.OptionsView.ShowColumnHeaders = False
Me.GridView1.OptionsView.ShowGroupPanel = False
Me.GridViewProfile.Appearance.EvenRow.BackColor = System.Drawing.Color.PaleTurquoise
Me.GridViewProfile.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewProfile.Appearance.FocusedRow.BackColor = System.Drawing.Color.Khaki
Me.GridViewProfile.Appearance.FocusedRow.Options.UseBackColor = True
Me.GridViewProfile.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colAKTIV, Me.colBEZEICHNUNG})
Me.GridViewProfile.GridControl = Me.GridControlProfile
Me.GridViewProfile.Name = "GridViewProfile"
Me.GridViewProfile.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewProfile.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewProfile.OptionsBehavior.Editable = False
Me.GridViewProfile.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewProfile.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridViewProfile.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewProfile.OptionsView.ShowAutoFilterRow = True
Me.GridViewProfile.OptionsView.ShowColumnHeaders = False
Me.GridViewProfile.OptionsView.ShowGroupPanel = False
'
'colAKTIV
'
@@ -2493,10 +2493,10 @@ Partial Class frmAdministration
CType(Me.viewAvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl4, System.ComponentModel.ISupportInitialize).EndInit()
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.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()
Me.XtraTabControl1.ResumeLayout(False)
Me.XtraTabPageProfiles.ResumeLayout(False)
@@ -2660,8 +2660,8 @@ Partial Class frmAdministration
Friend WithEvents VARIANTComboBox As System.Windows.Forms.ComboBox
Friend WithEvents btnAddWindowsVariable As System.Windows.Forms.Button
Friend WithEvents lblWDINDEX As System.Windows.Forms.Label
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents GridControlProfile As DevExpress.XtraGrid.GridControl
Friend WithEvents GridViewProfile As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents colBEZEICHNUNG As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents gridAssignedGroups As DevExpress.XtraGrid.GridControl
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">
<value>17, 17</value>
</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>
</data>
<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">
<value>Application</value>
</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>
</data>
<data name="colAKTIV.Caption" xml:space="preserve">
@@ -1312,22 +1312,22 @@
<data name="colBEZEICHNUNG.Width" type="System.Int32, mscorlib">
<value>277</value>
</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>
</data>
<data name="GridControl1.TabIndex" type="System.Int32, mscorlib">
<data name="GridControlProfile.TabIndex" type="System.Int32, mscorlib">
<value>93</value>
</data>
<data name="&gt;&gt;GridControl1.Name" xml:space="preserve">
<value>GridControl1</value>
<data name="&gt;&gt;GridControlProfile.Name" xml:space="preserve">
<value>GridControlProfile</value>
</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>
</data>
<data name="&gt;&gt;GridControl1.Parent" xml:space="preserve">
<data name="&gt;&gt;GridControlProfile.Parent" xml:space="preserve">
<value>SplitContainerControl4.Panel1</value>
</data>
<data name="&gt;&gt;GridControl1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;GridControlProfile.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<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">
<value>Global_Indexer.MyDataset, MyDataset.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;GridView1.Name" xml:space="preserve">
<value>GridView1</value>
<data name="&gt;&gt;GridViewProfile.Name" xml:space="preserve">
<value>GridViewProfile</value>
</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>
</data>
<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)
If MyDataset.TBDD_DOKUMENTART.Rows.Count > 0 Then
GridView1.SelectRow(1)
GridViewProfile.SelectRow(1)
EnableControls(XtraTabPageProfiles)
End If
If Me.DOKART_GUIDTextBox.Text <> "" Then
@@ -144,7 +144,7 @@ Public Class frmAdministration
RibbonPageGroupAutoIndex.Enabled = True
Case XtraTabPageFolderPath.Name
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.DisplayMember = Dt.Columns(0).ColumnName
Catch ex As Exception
@@ -210,10 +210,10 @@ Public Class frmAdministration
If IsInsert = True Then
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
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)
End If
End If
@@ -270,7 +270,7 @@ Public Class frmAdministration
Save_Dokumentart()
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 DoctypeCount = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
Dim DoctypeCount = DATABASE_ECM.GetScalarValue(sql)
If DoctypeCount = LICENSE_DOCTYPE_COUNT 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)
@@ -300,7 +300,7 @@ Public Class frmAdministration
End Sub
Private Sub btnadd_Click(sender As Object, e As EventArgs)
Dim osql = $"EXEC PRDD_CHECK_REL_DOCTYPE_MODULE 'GLOBIX',{DOKART_GUIDTextBox.Text}"
ClassDatabase.Execute_non_Query(osql)
DATABASE_ECM.ExecuteNonQuery(osql)
LoadGlobix_Doctypes()
End Sub
@@ -757,7 +757,9 @@ Public Class frmAdministration
End Sub
Sub LoadGlobix_Doctypes()
Dim oFocusedRow = GridViewProfile.FocusedRowHandle
Load_Dokart()
GridViewProfile.FocusedRowHandle = oFocusedRow
End Sub
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
Try
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
If ClassDatabase.Execute_non_Query(del) = True Then
If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text)
End If
End If
@@ -959,7 +961,7 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then
Try
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()
TBDD_DOKUMENTARTBindingSource.ResetBindings(True)
@@ -986,9 +988,9 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then
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
If ClassDatabase.Execute_non_Query(copy, True) Then
If DATABASE_ECM.ExecuteNonQuery(copy) 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)
@@ -1041,7 +1043,7 @@ Public Class frmAdministration
Private Sub ToolStripButton9_Click(sender As Object, e As EventArgs)
Try
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)
End If
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
Try
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)
Catch ex As Exception
LOGGER.Error(ex)
@@ -1069,11 +1071,15 @@ Public Class frmAdministration
End Sub
Private Sub BarButtonItem16_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem16.ItemClick
Try
TBDD_INDEX_MANBindingSource.AddNew()
If WINDREAM_DIRECTCheckBox.Checked = True Then
load_WDIndices()
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
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
Try
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
If ClassDatabase.Execute_non_Query(del) = True Then
If DATABASE_ECM.ExecuteNonQuery(del) = True Then
Load_INDEXMAN(Me.DOKART_GUIDTextBox.Text)
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
If DOKART_GUIDTextBox.Text <> String.Empty Then
Dim oSelectedIndex = ListBoxControl3.SelectedIndex
Load_INDEXMAN(DOKART_GUIDTextBox.Text)
ListBoxControl3.SelectedIndex = oSelectedIndex
End If
End Sub
Private Sub BarButtonItem20_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem20.ItemClick
Try
TBDD_INDEX_MAN_POSTPROCESSINGBindingSource.AddNew()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
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
Try
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)
End If
Catch ex As Exception
@@ -1144,15 +1156,21 @@ Public Class frmAdministration
End Sub
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)
ListBox1.SelectedIndex = oSelectedIndex
End Sub
Private Sub BarButtonItem24_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem24.ItemClick
Try
TBDD_INDEX_AUTOMBindingSource.AddNew()
If WINDREAM_DIRECTCheckBox.Checked = True Then
load_WDIndices()
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Private Sub ToolStripButton17_Click(sender As Object, e As EventArgs)
@@ -1171,7 +1189,7 @@ Public Class frmAdministration
If result = MsgBoxResult.Yes Then
Try
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)
Catch ex As Exception
LOGGER.Error(ex)
@@ -1181,7 +1199,9 @@ Public Class frmAdministration
End Sub
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)
ListBoxControl4.SelectedIndex = oSelectedIndex
End Sub
Private Sub BarButtonItem25_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem25.ItemClick
@@ -1228,17 +1248,19 @@ Public Class frmAdministration
End Sub
Private Sub BarButtonItem28_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem28.ItemClick
Try
TBGI_REGEX_DOCTYPEBindingSource.AddNew()
EnableControls(XtraTabPageProfileRegex)
Catch ex As Exception
LOGGER.Error(ex)
End Try
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
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
End Sub
@@ -1316,8 +1338,8 @@ Public Class frmAdministration
End If
End Sub
Private Sub GridView1_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles GridView1.BeforeLeaveRow
Dim oRowView As DataRowView = GridView1.GetRow(e.RowHandle)
Private Sub GridView1_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles GridViewProfile.BeforeLeaveRow
Dim oRowView As DataRowView = GridViewProfile.GetRow(e.RowHandle)
Dim oProfileName As String = oRowView?.Row.Item("BEZEICHNUNG")
If oRowView Is Nothing Then

View File

@@ -68,7 +68,7 @@ Public Class frmConfig_Basic
sql = sql.Replace("@user", 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
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)")
@@ -150,12 +150,12 @@ Public Class frmConfig_Basic
Exit Sub
End If
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
CURRENT_FOLDERWATCH = folderwatch
End If
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
CURRENT_SCAN_FOLDERWATCH = SCAN_folderwatch
End If
@@ -230,7 +230,7 @@ Public Class frmConfig_Basic
Sub CheckFolder(mypath As String, FOLDER_TYPE As String)
Try
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
CURRENT_SCAN_FOLDERWATCH = ""
CONFIG.Config.FolderWatchScanStarted = False
@@ -262,15 +262,15 @@ Public Class frmConfig_Basic
Exit Sub
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
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 & "')"
Else
sql = "UPDATE TBGI_FOLDERWATCH_USER SET FOLDER_PATH = '" & mypath & "', CHANGED_WHO = '" & Environment.UserName & "' where GUID = " & folderwatch
End If
If ClassDatabase.Execute_non_Query(sql) Then
folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = " & USER_ID & " AND FOLDER_TYPE = '" & FOLDER_TYPE & "'", MyConnectionString)
If DATABASE_ECM.ExecuteNonQuery(sql) Then
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
CURRENT_SCAN_FOLDERWATCH = folderwatch
@@ -362,7 +362,7 @@ Public Class frmConfig_Basic
LOGCONFIG.Debug = Not chkLogErrorsOnly.Checked
End If
End Sub
<STAThread()> _
<STAThread()>
Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Load_Basics()
formloaded = True
@@ -404,7 +404,7 @@ Public Class frmConfig_Basic
End Sub
Private Sub btnopenlog_Click(sender As Object, e As EventArgs) Handles btnopenlog.Click
Process.Start(ClassLogger.DateiSpeicherort)
Process.Start(LOGCONFIG.LogDirectory)
End Sub
Private Sub btnApplicationFolder_Click(sender As Object, e As EventArgs) Handles btnApplicationFolder.Click
Process.Start(Application.UserAppDataPath())
@@ -453,7 +453,7 @@ Public Class frmConfig_Basic
End Sub
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)
End Sub
@@ -483,7 +483,7 @@ Public Class frmConfig_Basic
Dim update As String = "UPDATE TBDD_USER SET [LANGUAGE] = '" & lang & "' WHERE GUID = " & USER_ID
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
MsgBox("Die Sprache wurde erfolgreich geändert!", MsgBoxStyle.Information)
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
Try
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)
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -5,6 +5,7 @@ Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.DirectoryServices
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.GlobalIndexer
Imports DevExpress.XtraEditors.Controls
@@ -141,11 +142,11 @@ Public Class frmIndex
If DR.Item("SQL_CHECK").ToString <> String.Empty Then
Dim connectionString 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
Dim sqlscalar = DR.Item("SQL_CHECK")
Select Case DR.Item("DATENTYP")
Case "INTEGER"
Case ClassConstants.INDEX_TYPE_INTEGER
sqlscalar = sqlscalar.ToString.Replace("@manValue", wert)
Case Else
sqlscalar = sqlscalar.ToString.Replace("@manValue", "'" & wert & "'")
@@ -154,10 +155,12 @@ Public Class frmIndex
sql = sqlscalar
Dim ergebnis As Integer
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
'MSQL
ergebnis = ClassDatabase.Execute_Scalar(sql, connectionString)
ergebnis = DATABASE_ECM.GetScalarValueWithConnection(sql, connectionString)
End If
Select Case ergebnis
@@ -218,7 +221,6 @@ Public Class frmIndex
_Logger.Info(" >>Zurückgegebener manueller Indexwert: " & DR.Item("Indexwert"))
Return DR.Item("Indexwert")
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
_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!")
@@ -281,7 +283,7 @@ Public Class frmIndex
Function GetAutomaticIndexSQLValue(SQLCommand As String, vconnectionID As Integer, vProvider As String) As String
Try
Dim oConnectionString As String
oConnectionString = ClassFormFunctions.GetConnectionString(vconnectionID)
oConnectionString = DATABASE_ECM.Get_ConnectionStringforID(vconnectionID)
If oConnectionString <> "" Then
'NEU
Dim oErgebnis
@@ -289,7 +291,7 @@ Public Class frmIndex
If vProvider.ToLower = "oracle" Then
oErgebnis = ClassDatabase.OracleExecute_Scalar(SQLCommand, oConnectionString)
Else 'im Moment nur SQL-Server
oErgebnis = ClassDatabase.Execute_Scalar(SQLCommand, oConnectionString)
oErgebnis = DATABASE_ECM.GetScalarValueWithConnection(SQLCommand, oConnectionString)
End If
If LogErrorsOnly = False Then
@@ -322,7 +324,7 @@ Public Class frmIndex
If oControl.Name.StartsWith("txt") Then
Dim box As DevExpress.XtraEditors.TextEdit = oControl
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 USER_LANGUAGE = LANG_DE Then
@@ -365,7 +367,7 @@ Public Class frmIndex
Dim oValues As List(Of String) = oLookup.Properties.SelectedValues
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 USER_LANGUAGE = LANG_DE Then
@@ -389,7 +391,7 @@ Public Class frmIndex
Dim cmbSingle As TextBox = oControl
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 USER_LANGUAGE = LANG_DE Then
@@ -410,7 +412,7 @@ Public Class frmIndex
ElseIf oControl.Name.StartsWith("cmb") Then
Dim cmb As ComboBox = oControl
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 USER_LANGUAGE = LANG_DE Then
MsgBox(TEXT_MISSING_INPUT_DE, MsgBoxStyle.Exclamation, Text)
@@ -433,7 +435,7 @@ Public Class frmIndex
Dim oIndexName As String = Replace(dtp.Name, "dtp", "")
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 USER_LANGUAGE = LANG_DE Then
@@ -488,7 +490,7 @@ Public Class frmIndex
'Die Nachbearbeitungsschritte laden
'FILE AND INDEX
'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.Rows.Count > 0 Then
value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
@@ -498,7 +500,7 @@ Public Class frmIndex
End If
'Jetzt die Fälle für die Variante FILE AND INDEX
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.Rows.Count > 0 Then
value_post = ClassPostprocessing.Get_Nachbearbeitung_Wert(wert_in, DTNB)
@@ -519,7 +521,7 @@ Public Class frmIndex
_Logger.Debug("#### Name_Generieren ####")
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 DT1 As DataTable = ClassDatabase.Return_Datatable(sql)
Dim DT1 As DataTable = DATABASE_ECM.GetDatatable(sql)
For Each row As DataRow In DT1.Rows
FILE_DELIMITER = row.Item("FILE_DELIMITER")
VERSION_DELIMITER = row.Item("VERSION_DELIMITER")
@@ -529,7 +531,7 @@ Public Class frmIndex
Dim folder_Created As Boolean = False
Dim oRAWZielordner As String
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_Index_Values = ""
Dim AnzahlIndexe As Integer = 1
@@ -538,7 +540,7 @@ Public Class frmIndex
CURR_WORKFILE_EXTENSION = extension
oRAWZielordner = WINDREAM.GetNormalizedPath(DT.Rows(0).Item("ZIEL_PFAD"))
oRAWZielordner = Path.Combine("\\windream\objects", oRAWZielordner)
oRAWZielordner = Path.Combine(WINDREAM_BASEPATH, oRAWZielordner)
'####
' Regulären Ausdruck zum Auslesen der Indexe definieren
@@ -561,7 +563,7 @@ Public Class frmIndex
Case "M"
_Logger.Debug("NameGenerieren: Manueller Index wird geprüft...")
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)
If oManValue <> String.Empty Then
Dim firstVectorValue = oManValue.Split(ClassConstants.VECTORSEPARATOR).First()
@@ -835,7 +837,7 @@ Public Class frmIndex
End If
Next
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)
If indexierung_erfolgreich = False Then
MsgBox("Error in SetEmailIndices - See log", MsgBoxStyle.Critical)
@@ -856,24 +858,22 @@ Public Class frmIndex
End Try
Return True
End Function
Private Function WriteIndex2File(indexname As String, indexvalue As String)
Private Function WriteIndex2File(pIndexName As String, pIndexValue As String)
Try
_Logger.Info("Indexvalue: " & indexvalue.ToString)
Return WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, indexname, indexvalue, CURR_DOKART_OBJECTTYPE)
_Logger.Info($"Indexing with Name {pIndexName} and Value: {pIndexValue.ToString}")
Return WINDREAM.SetFileIndex(CURRENT_NEWFILENAME, pIndexName, pIndexValue, CURR_DOKART_OBJECTTYPE)
Catch ex As Exception
ShowErrorMessage(ex, "WriteIndex2File")
Return False
End Try
End Function
Private Function SetEmailIndicies(pIndexAttachment As Boolean) As Boolean
Try
Dim oMsgFilePath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
Dim oMail As IMail = EMAIL.Load_Email(oMsgFilePath)
Dim oIndexNames As Dictionary(Of String, Object)
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
_Logger.Info("Could not get Email Indicies for DocType = [{0}]. Exiting.", CURR_DOKART_OBJECTTYPE)
@@ -890,25 +890,42 @@ Public Class frmIndex
Return False
End If
Dim oRow As DataRow = oTable.Rows.Item(0)
' If file is an email files (eml,msg) parse it to extract email data and save for later
' 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
Dim oRow As DataRow = oTable.Rows.Item(0)
Dim oIndexNames As New Dictionary(Of String, Object) From {
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}
}
If pIndexAttachment = True Then
oIndexNames.Add("IDX_CHECK_ATTACHMENT", True)
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
For Each oIndex In oIndexNames
Try
If oIndex.Value Is Nothing Then
@@ -923,9 +940,8 @@ Public Class frmIndex
End If
Dim oIndexingSuccessful = WriteIndex2File(oRow.Item(oIndex.Key), oIndex.Value)
'Die aktuelle Message-ID zwischenspeichern
CURRENT_MESSAGEID = oMessageId
If oIndexingSuccessful = False Then
MsgBox($"Error while Indexing Email at Index [{oIndex.Key}]", MsgBoxStyle.Critical)
@@ -951,7 +967,7 @@ Public Class frmIndex
' Dim _step As String = "1"
' Try
' Dim oTempPath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
' Dim oTempPath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
' Dim msg As Msg.Message = New Msg.Message(oTempPath)
' Dim msgDisplayTo = msg.DisplayTo
' Dim msgInternetAccountName = msg.InternetAccountName
@@ -996,7 +1012,7 @@ Public Class frmIndex
' finalize_pattern = rowregex.Item("REGEX")
' End If
' 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
' _Logger.Info("SELECT * FROM TBGI_OBJECTTYPE_EMAIL_INDEX WHERE OBJECTTYPE = '" & CURR_DOKART_OBJECTTYPE & "' RESULTED in NOTHING")
' Return False
@@ -1282,7 +1298,7 @@ Public Class frmIndex
'Private Function SetAttachmentIndices()
' Dim indexierung_erfolgreich As Boolean = True
' 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 Not CURRENT_MESSAGEID Is Nothing Then
@@ -1335,7 +1351,7 @@ Public Class frmIndex
End If
Dim oStreamSuccessful = WINDREAM.NewFileStream(CURRENT_WORKFILE, CURRENT_NEWFILENAME)
Dim oTempPath As String = Path.Combine("\\windream\objects", CURRENT_NEWFILENAME)
Dim oTempPath As String = Path.Combine(WINDREAM_BASEPATH, CURRENT_NEWFILENAME)
_Logger.Debug("Checks for file [{0}]", oTempPath)
_Logger.Debug("File streamed to Windream: {0}", oStreamSuccessful)
@@ -1379,19 +1395,19 @@ Public Class frmIndex
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}')"
If ClassDatabase.Execute_non_Query(Insert_String) = True Then
If DATABASE_ECM.ExecuteNonQuery(Insert_String) = True Then
If CURRENT_MESSAGEID <> "" Then
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
If GUID > 0 Then
Dim sql As String
If CURRENT_ISATTACHMENT = True Then
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
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
Catch ex As Exception
@@ -1431,7 +1447,7 @@ Public Class frmIndex
Try
ABORT_INDEXING = True
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
For Each Filerow As DataRow In DT.Rows
@@ -1450,7 +1466,7 @@ Public Class frmIndex
End If
Next
'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 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:")
@@ -1508,13 +1524,13 @@ Public Class frmIndex
Try
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
checkItemDeleteSource.Enabled = True
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)
@@ -1594,8 +1610,8 @@ Public Class frmIndex
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")
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)
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 = 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
If MULTIFILES > 0 Then
If USER_LANGUAGE = LANG_DE Then
@@ -1693,7 +1709,7 @@ Public Class frmIndex
Try
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)
Dim oDoctypes = ClassDatabase.Return_Datatable(sql)
Dim oDoctypes = DATABASE_ECM.GetDatatable(sql)
'cmbDokumentart.DataSource = oDoctypes
'cmbDokumentart.ValueMember = oDoctypes.Columns("DOCTYPE_ID").ColumnName
'cmbDokumentart.DisplayMember = oDoctypes.Columns("DOCTYPE").ColumnName
@@ -1730,7 +1746,7 @@ Public Class frmIndex
pnlIndex.Controls.Clear()
Dim sql As String = "Select WINDREAM_DIRECT, ZIEL_PFAD, DUPLICATE_HANDLING from TBDD_DOKUMENTART WHERE GUID = " & oSelectedItem.Guid
Dim oDoctypes As DataTable = ClassDatabase.Return_Datatable(sql)
Dim oDoctypes As DataTable = DATABASE_ECM.GetDatatable(sql)
Dim oDocType As DataRow = oDoctypes.Rows.Item(0)
Dim oDestination As String = oDocType.Item("ZIEL_PFAD")
@@ -1760,7 +1776,7 @@ Public Class frmIndex
Dim sql
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"
DT_INDEXEMAN = ClassDatabase.Return_Datatable(sql)
DT_INDEXEMAN = DATABASE_ECM.GetDatatable(sql)
pnlIndex.Visible = True
LoadIndexe_Man()
Catch ex As System.Exception
@@ -1821,14 +1837,14 @@ Public Class frmIndex
Dim AddNewItems As Boolean = oRow.Item("VKT_ADD_ITEM")
Dim PreventDuplicates As Boolean = oRow.Item("VKT_PREVENT_MULTIPLE_VALUES")
Dim oControlName As String = oRow.Item("NAME")
Dim oConnectionId = NotNull(oRow.Item("CONNECTION_ID"), 0)
Dim oConnectionId = Utils.NotNull(oRow.Item("CONNECTION_ID"), 0)
Dim oSQLSuggestion = oRow.Item("SUGGESTION")
Dim oSQLResult = oRow.Item("SQL_RESULT")
LOGGER.Debug("IndexName: {0}", oControlName)
LOGGER.Debug("SQL: {0}", oSQLResult)
If oDataType <> "BOOLEAN" Then
If oDataType <> ClassConstants.INDEX_TYPE_BOOLEAN Then
addLabel(oControlName, oRow.Item("COMMENT").ToString, oLabelPosition, oControlCount)
End If
@@ -1838,12 +1854,12 @@ Public Class frmIndex
End If
Select Case oDataType
Case "BOOLEAN"
Case ClassConstants.INDEX_TYPE_BOOLEAN
Dim chk As CheckBox = oControls.AddCheckBox(oControlName, oControlPosition, DefaultValue, oRow.Item("COMMENT").ToString)
If Not IsNothing(chk) Then
pnlIndex.Controls.Add(chk)
End If
Case "INTEGER"
Case ClassConstants.INDEX_TYPE_INTEGER
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)
If Not IsNothing(oControl) Then
@@ -1856,7 +1872,7 @@ Public Class frmIndex
pnlIndex.Controls.Add(oControl)
End If
End If
Case "VARCHAR"
Case ClassConstants.INDEX_TYPE_VARCHAR
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)
If Not IsNothing(oControl) Then
@@ -1911,7 +1927,7 @@ Public Class frmIndex
End Sub
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
LOGGER.Debug("Connection String (redacted): [{0}]", oConnectionString.Substring(0, 30))
@@ -1923,7 +1939,8 @@ Public Class frmIndex
pSQLCommand = ClassPatterns.ReplaceInternalValues(pSQLCommand)
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
End If
Else
@@ -1941,15 +1958,15 @@ Public Class frmIndex
Dim oMeta = DirectCast(Control.Tag, ControlCreator.ControlMeta)
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 oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL)
Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL)
If Not IsNothing(oDatatable) Then
LOGGER.Debug("Found [{0}] depending controls for [{1}]", oDatatable.Rows.Count, Control.Name)
For Each oRow As DataRow In oDatatable.Rows
Dim oControlName As String = NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = NotNull(oRow.Item("SQL_RESULT"), "")
Dim oControlName As String = Utils.NotNull(oRow.Item("NAME"), "")
Dim oConnectionId As Integer = Utils.NotNull(oRow.Item("CONNECTION_ID"), -1)
Dim oControlSql As String = Utils.NotNull(oRow.Item("SQL_RESULT"), "")
If oConnectionId = -1 Or oControlSql = String.Empty Then
LOGGER.Warn("Missing SQL Query or ConnectionId for Control [{0}]! Continuing.", oControlName)
@@ -1975,8 +1992,9 @@ Public Class frmIndex
Exit Sub
End If
Dim oConnectionString = ClassFormFunctions.GetConnectionString(SqlConnectionId)
Dim oDatatable As DataTable = ClassDatabase.Return_Datatable_CS(SqlCommand, oConnectionString)
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
For Each oControl As Control In pnlIndex.Controls
@@ -2095,17 +2113,17 @@ Public Class frmIndex
' 1. Schritt: Einfach-Indexe und Platzhalter ersetzen
For Each oAutoIndexRow As DataRow In oDatatable
_Logger.Info("Working on AutomaticIndex: " & oAutoIndexRow.Item("INDEXNAME") & "...")
Dim oSqlResult As String = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_RESULT"), "")
Dim oSqlActive As Boolean = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False)
Dim oSqlConnectionId As Integer = ClassHelper.NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1)
Dim oSqlProvider As String = ClassHelper.NotNull(oAutoIndexRow.Item("SQL_PROVIDER"), "")
Dim oSqlResult As String = Utils.NotNull(oAutoIndexRow.Item("SQL_RESULT"), "")
Dim oSqlActive As Boolean = Utils.NotNull(oAutoIndexRow.Item("SQL_ACTIVE"), False)
Dim oSqlConnectionId As Integer = Utils.NotNull(oAutoIndexRow.Item("CONNECTION_ID"), -1)
Dim oSqlProvider As String = Utils.NotNull(oAutoIndexRow.Item("SQL_PROVIDER"), "")
Dim oEndResult As New List(Of String)
' Wenn kein SQL Befehl vorhanden oder aktiv ist,
' versuchen wir, die Spalte VALUE zu ersetzen
If oSqlResult = String.Empty Or oSqlActive = 0 Then
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)
@@ -2137,7 +2155,7 @@ Public Class frmIndex
oSqlResult = oSqlResult.Replace(oMatch.Value, oPlaceholderResult)
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)
' Wenn Ergebnis den VektorPlatzhalter enthält, soll nichts ersetzt werden.
@@ -2172,7 +2190,7 @@ Public Class frmIndex
Dim oOptionalIndex = False
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)
Dim oVectorIndexValues = oManualIndexResult.Split(ClassConstants.VECTORSEPARATOR).ToList()
@@ -2263,7 +2281,7 @@ Public Class frmIndex
CURRENT_LASTDOKART = oDokart.Name
_Logger.Info("Datei '" & CURRENT_NEWFILENAME & "' erfolgreich erzeugt.")
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
_Logger.Info("Datei [" & CURRENT_WORKFILE & "] wird gelöscht.")
@@ -2328,7 +2346,7 @@ Public Class frmIndex
' 'Die erste Datei indexieren
' If WORK_FILE() = True Then
' 'Und nun die folgenden
' Dim DTFiles2Work As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
' 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
' Dim err = False
' For Each filerow As DataRow In DTFiles2Work.Rows
@@ -2375,7 +2393,7 @@ Public Class frmIndex
Dim oError As Boolean
Try
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
CreateFolderForIndex(oFolderForIndex)
Else
@@ -2405,20 +2423,20 @@ Public Class frmIndex
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}')"
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 CURRENT_MESSAGEID <> "" Then
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
If GUID > 0 Then
Dim sqlUpdate As String
If DropType = "|ATTMNTEXTRACTED|" Or DropType = "|OUTLOOK_ATTACHMENT|" Then
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
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
Catch ex As Exception
@@ -2484,7 +2502,7 @@ Public Class frmIndex
'Manueller Indexwert
Case "M"
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.")
Dim oManIndexValue As String = GetManIndex_Value(oManIndexName, "FILE", oIsOptional)
_Logger.Info("Ergebnis/Wert für neuen Ordner: '" & oManIndexName & "'")
@@ -2631,7 +2649,7 @@ Public Class frmIndex
ABORT_INDEXING = True
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
@@ -2651,7 +2669,7 @@ Public Class frmIndex
End If
Next
'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 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:")
@@ -2702,11 +2720,12 @@ Public Class frmIndex
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Try
ClearError()
ClearNotice()
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
If rowregex.Item("FUNCTION_NAME") = "CLEAN_FILENAME" Then
REGEX_CLEAN_FILENAME = rowregex.Item("REGEX")
@@ -2716,13 +2735,13 @@ Public Class frmIndex
'Die erste Datei indexieren
If WORK_FILE() = True Then
'Und nun die folgenden
Dim DTFiles2Work As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_WORKFILE_GUID & " AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
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
Dim err = False
For Each filerow As DataRow In DTFiles2Work.Rows
CURRENT_WORKFILE_GUID = filerow.Item("GUID")
CURRENT_WORKFILE = filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_HASH = NotNull(filerow.Item("FILE_HASH"), "")
CURRENT_WORKFILE_HASH = Utils.NotNull(filerow.Item("FILE_HASH"), "")
DropType = filerow.Item("HANDLE_TYPE")
If WORK_FILE() = False Then
@@ -2769,7 +2788,15 @@ Public Class frmIndex
Clear_Tempfiles()
EMAIL.Clear_TempFiles()
Catch ex As Exception
MsgBox("Uncaught error while indexing: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
' Clear all temp files in case of an error
Clear_Tempfiles()
EMAIL.Clear_TempFiles()
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
Private Sub Clear_Tempfiles()
@@ -2814,7 +2841,7 @@ Public Class frmIndex
End Sub
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
Close()

View File

@@ -82,7 +82,7 @@ Public Class frmIndexFileList
End If
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
Next
@@ -119,7 +119,7 @@ Public Class frmIndexFileList
Private Sub frmIndexFileList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If DialogResult = DialogResult.Cancel Then
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
MsgBox("Error while deleting User Files: " & ex.Message, MsgBoxStyle.Critical, Text)
LOGGER.Error(ex)

View File

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

View File

@@ -28,7 +28,7 @@
Private Sub frmNamenkonvention_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
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
FILE_DELIMITER = row.Item("FILE_DELIMITER")
VERSION_DELIMITER = row.Item("VERSION_DELIMITER")

View File

@@ -26,15 +26,16 @@ Public Class SQLConfigAutoIndex
End If
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
If typeCS.Length > 0 Then
Dim CS As String
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue)
CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
If typeCS.ToUpper = "Oracle".ToUpper Then
dt = ClassDatabase.Oracle_Return_Datatable(query, CS, True)
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
@@ -127,7 +128,7 @@ Public Class SQLConfigAutoIndex
Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBDD_INDEX_MANTableAdapter.Connection.ConnectionString = MyConnectionString
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
Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID")
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
Try
Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, MyConnectionString, True)
'Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, True)
Dim origresultstring = DATABASE_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO)
'Dim origConnection = DATABASE_ECM.GetScalarValue("SELECT CONNECTION_ID FROM TBDD_INDEX_AUTOM WHERE GUID = " & CURRENT_INDEXAUTO, True)
'If origConnection Is DBNull Then
'End If
Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''")
If insresultstring <> origresultstring Then
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
If ClassDatabase.Execute_non_Query(cmd, True) = True Then
If DATABASE_ECM.ExecuteNonQuery(cmd) = True Then
If USER_LANGUAGE = "de-DE" Then
lblSave.Text = "SQL-Daten gespeichert - " & Now
Else
@@ -320,26 +321,27 @@ Public Class SQLConfigAutoIndex
type = "'VIEW'"
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
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
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue)
CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
If typeCS.ToUpper = "Oracle".ToUpper Then
If type = "'VIEW'" Then
'DB-Abfrage für alle Views definieren
SQL = "select VIEW_NAME from USER_VIEWS"
oSQL = "select VIEW_NAME from USER_VIEWS"
Else
'DB-Abfrage für alle Tables definieren
SQL = "select TABLE_NAME from USER_TABLES"
oSQL = "select TABLE_NAME from USER_TABLES"
End If
dt = ClassDatabase.Oracle_Return_Datatable(SQL, CS, True)
dt = ClassDatabase.Oracle_Return_Datatable(oSQL, CS, True)
Else
SQL = "SELECT TABLE_NAME from information_schema.tables where TABLE_TYPE = " & type & " ORDER BY TABLE_NAME"
dt = ClassDatabase.Return_Datatable_CS(SQL, CS, True)
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 = DATABASE_ECM.GetDatatableWithConnection(oSQL, CS)
End If
If dt IsNot Nothing Then
cmbFromTables.Items.Clear()
@@ -360,8 +362,8 @@ Public Class SQLConfigAutoIndex
Private Sub GetColumns(tableName As String, ByRef combobox As ComboBox)
Try
Dim CS As String
CS = ClassFormFunctions.GetConnectionString(cmbConnection.SelectedValue)
Dim typeCS As String = ClassDatabase.Execute_Scalar("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue, MyConnectionString, True)
CS = DATABASE_ECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
Dim typeCS As String = DATABASE_ECM.GetScalarValue("SELECT SQL_PROVIDER FROM TBDD_CONNECTION WHERE GUID = " & cmbConnection.SelectedValue)
Dim SQL As String
Dim DT As DataTable
If typeCS.ToUpper = "Oracle".ToUpper Then
@@ -369,7 +371,8 @@ Public Class SQLConfigAutoIndex
DT = ClassDatabase.Oracle_Return_Datatable(SQL, CS, True)
Else
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
If DT IsNot Nothing Then

View File

@@ -10,10 +10,10 @@ Public Class frmSQLSuggestion
Dim i As Integer
connectionString = ClassFormFunctions.GetConnectionString(conid)
connectionString = DATABASE_ECM.Get_ConnectionStringforID(conid)
If connectionString <> "" 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
' Dim y As Integer = 0
' 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.
Me.TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
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
Me.cmbConnection.SelectedValue = DT.Rows(0).Item("CONNECTION_ID")
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
Try
ClassDatabase.Init()
Dim origresultstring = ClassDatabase.Execute_Scalar("SELECT SQL_RESULT FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True)
Dim origcheckstring = ClassDatabase.Execute_Scalar("SELECT SQL_CHECK FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN, True)
Dim origConnection = ClassDatabase.Execute_Scalar("SELECT CONNECTION_ID 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 = DATABASE_ECM.GetScalarValue("SELECT SQL_CHECK FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
Dim origConnection = DATABASE_ECM.GetScalarValue("SELECT CONNECTION_ID FROM TBDD_INDEX_MAN WHERE GUID = " & CURRENT_INDEXMAN)
Dim insresultstring = SQL_ERGEBNISTextBox.Text.Replace("'", "''")
Dim inscheckstring = SQL_UEBERPRUEFUNGTextBox.Text.Replace("'", "''")
If insresultstring <> origresultstring Or _
@@ -139,7 +139,7 @@ Public Class frmSQLSuggestion
Dim cmd As String
cmd = "UPDATE TBDD_INDEX_MAN SET CONNECTION_ID = " & cmbConnection.SelectedValue & ",SQL_RESULT = '" & insresultstring & "',SQL_CHECK = '" & inscheckstring & "',CHANGED_WHO = '" & _
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
lblSave.Text = "SQL-Daten erfolgreich gespeichert - " & Now
Else
@@ -166,7 +166,7 @@ Public Class frmSQLSuggestion
Private Sub btnTestNachbearbeitung_Click(sender As Object, e As EventArgs) Handles btnTestNachbearbeitung.Click
'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.Rows.Count > 0 Then
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.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
XtraTabControl1.SelectedTabPageIndex = 1
BindingSource1.DataSource = dt

View File

@@ -66,7 +66,7 @@ Public Class frmSQL_DESIGNER
'TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
'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_DT_SQL_CONFIG_TABLE.Rows.Count = 1 Then
' cmbConnection.SelectedValue = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CONNECTION_ID")
@@ -74,7 +74,7 @@ Public Class frmSQL_DESIGNER
' 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 oDatatable As DataTable = ClassDatabase.Return_Datatable(oSQL, True)
' Dim oDatatable As DataTable = DATABASE_ECM.GetDatatable(oSQL, True)
' cmbControls.DataSource = oDatatable
' cmbControls.DisplayMember = oDatatable.Columns(0).ColumnName
' cmbControls.Visible = True
@@ -181,7 +181,7 @@ Public Class frmSQL_DESIGNER
Dim connectionString As String
connectionString = ClassDatabase.Get_ConnectionString(connectionId)
connectionString = DATABASE_ECM.Get_ConnectionStringforID(connectionId)
If connectionString <> "" Then
@@ -295,7 +295,7 @@ Public Class frmSQL_DESIGNER
Private Sub LoadConnections()
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.DisplayMember = "BEZEICHNUNG"
@@ -315,7 +315,7 @@ Public Class frmSQL_DESIGNER
Private Sub LoadControls()
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.DisplayMember = "NAME"

View File

@@ -5,120 +5,26 @@ Imports System.Text
Imports System.Globalization
Imports System.Threading
Imports System.Runtime.InteropServices
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Windows
Imports DigitalData.Modules.License
Public Class frmStart
Public _lizenzManager As ClassLicenseManager
Dim loaded As Boolean = False
Dim WithEvents HotKey As New clsHotkey(Me)
Private Const mSnapOffset As Integer = 35
Public _lizenzManager As LicenseManagerLegacy
Private Const WM_WINDOWPOSCHANGING As Integer = &H46
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)
' Listen for operating system messages
Select Case m.Msg
Case WM_WINDOWPOSCHANGING
SnapToDesktopBorder(Me, m.LParam, 0)
Window.SnapToDesktopBorder(Me, m.LParam)
End Select
MyBase.WndProc(m)
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
DragDropForm(e)
@@ -130,7 +36,7 @@ Public Class frmStart
Exit Sub
End If
'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
TimerCheckDroppedFiles.Start()
End If
@@ -158,9 +64,9 @@ Public Class frmStart
Sub Check_Dropped_Files()
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
LOGGER.Info(">> Check Drop-File: " & oFiledropString.ToString)
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}')"
DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
ABORT_INDEXING = False
Dim oOnlyFilesFromFilesystem = True
@@ -191,7 +97,7 @@ Public Class frmStart
LOGGER.Debug("Email Indexing Dialog closed, checking for files to be indexed")
DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
End If
If DTACTUAL_FILES.Rows.Count = 0 Then
@@ -211,11 +117,13 @@ Public Class frmStart
CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_GUID = Filerow.Item(0)
CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
CURRENT_WORKFILE_HASH = NotNull(Filerow.Item("FILE_HASH"), "")
CURRENT_WORKFILE_HASH = Utils.NotNull(Filerow.Item("FILE_HASH"), "")
LOGGER.Info(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE)
If File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then
If IO.File.Exists(CURRENT_WORKFILE) = True And DTACTUAL_FILES.Rows.Count > 0 Then
Open_IndexDialog()
Else
Throw New FileNotFoundException("Dropped file does not exist anymore!")
End If
' If multi-indexing is active, all files have been indexed by now, so we can leave the loop
@@ -247,24 +155,13 @@ Public Class frmStart
Try
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')"
ClassDatabase.Execute_non_Query(Sql, True)
DATABASE_ECM.ExecuteNonQuery(Sql)
End If
ClassWindowLocation.SaveFormLocationSize(Me)
Catch ex As Exception
MsgBox("Unexpected Error in Closing Application: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
EMAIL.Clear_TempFiles()
'TempDateien löschen
For Each oFile In TEMP_FILES
Try
System.IO.File.Delete(oFile)
Catch ex As Exception
LOGGER.Error(ex)
End Try
Next
Try
IndexForm.DisposeViewer()
IndexForm.Dispose()
@@ -328,7 +225,7 @@ Public Class frmStart
ToolStripSeparator1.Visible = False
AdministrationToolStripMenuItem.Visible = False
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
@@ -466,7 +363,7 @@ Public Class frmStart
End Sub
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
Dim title = "Critical Error"
@@ -495,7 +392,7 @@ Public Class frmStart
If FW_started = True Or CONFIG.Config.FolderWatchScanStarted = True Then
'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 & "')"
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
DTACTUAL_FILES = DATABASE_ECM.GetDatatable(sql)
If DTACTUAL_FILES.Rows.Count > 0 Then
ABORT_INDEXING = False
@@ -521,7 +418,7 @@ Public Class frmStart
Else
LOGGER.Info(">> File not existing - Row will be deleted!")
Dim del = String.Format("DELETE FROM TBGI_FILES_USER WHERE GUID = {0}", FILEGUID)
ClassDatabase.Execute_non_Query(del)
DATABASE_ECM.ExecuteNonQuery(del)
End If
Else
LOGGER.Info(">> file '" & row.Item(1) & "' could not be opened exclusively - fileInUse!")
@@ -568,10 +465,9 @@ Public Class frmStart
Else
TimerFolderWatch.Start()
End If
loaded = True
Opacity = 0.7
ClassHelper.Refresh_RegexTable()
CURRENT_DT_REGEX = DATABASE_ECM.GetDatatable("SELECT * FROM TBGI_FUNCTION_REGEX")
Start_Folderwatch()
ClassWindowLocation.LoadFormLocationSize(Me, LoadSize:=False)
@@ -613,14 +509,13 @@ Public Class frmStart
}
If oOpenFileDialog.ShowDialog() = DialogResult.OK Then
Dim i As Integer = 0
ClassFileDrop.files_dropped = Nothing
ClassFileDrop.FilesDropped.Clear()
For Each oFileName In oOpenFileDialog.FileNames
ReDim Preserve ClassFileDrop.files_dropped(i)
LOGGER.Info(">> Chosen File: " & oFileName)
ClassFileDrop.files_dropped(i) = "|DROPFROMFSYSTEM|" & oFileName
i += 1
ClassFileDrop.FilesDropped.Add("|DROPFROMFSYSTEM|" & oFileName)
Next
TimerCheckDroppedFiles.Start()
End If
Catch ex As Exception

View File

@@ -113,12 +113,13 @@
<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="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="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="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="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.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />