diff --git a/GUIs.ZooFlow/ClassDataASorDB.vb b/GUIs.ZooFlow/ClassDataASorDB.vb
new file mode 100644
index 00000000..3b548371
--- /dev/null
+++ b/GUIs.ZooFlow/ClassDataASorDB.vb
@@ -0,0 +1,92 @@
+Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
+Imports DigitalData.Modules.Logging
+
+Public Class ClassDataASorDB
+ Private _Logger As Logger
+ Public Sub New(LogConfig As LogConfig)
+ _Logger = LogConfig.GetLogger
+ End Sub
+ Public Function GetDatatable(pDB As String, pSQL As String, pAppServDT As String, pAppServFilter As String, pAppServSort As String, Optional pForce As String = "") As DataTable
+ Try
+ Dim oReturnDT As DataTable
+ If My.Application.Service.IsActive = True And pForce = String.Empty Then
+ Try
+ Dim oTableResult As TableResult = _Client.GetDatatableByName(pAppServDT, pAppServFilter, pAppServSort)
+ oReturnDT = oTableResult.Table
+ If IsNothing(oReturnDT) Then
+ _Logger.Warn($"Datatable from ApPServData is nothing [{pAppServDT} - {pAppServFilter}] - Failover via DB")
+ Return GetDatatable(pDB, pSQL, "", "", "", "DB")
+ End If
+ Catch ex As Exception
+ _Logger.Warn($"Error getting ApPServData [{pAppServDT} - {pAppServFilter}]")
+ Return GetDatatable(pDB, pSQL, "", "", "", "DB")
+ End Try
+ Else
+ If pDB = "DD_ECM" Then
+ oReturnDT = My.Database.GetDatatable(pSQL)
+ ElseIf pDB = "IDB" Then
+ oReturnDT = My.DatabaseIDB.GetDatatable(pSQL)
+ End If
+
+ End If
+ Return oReturnDT
+ Catch ex As Exception
+ _Logger.Error(ex)
+ End Try
+ End Function
+
+ Public Function CheckModuleData()
+ Try
+ Dim oSql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','CW',{1})", My.Application.User.UserName)
+ Dim DT_CHECKUSER_MODULE As DataTable
+ DT_CHECKUSER_MODULE = GetDatatable("DD_ECM", oSql, "TBDD_USER_MODULE", $"USERNAME = '{My.Application.User.UserName.ToLower}' AND MODULE_SHORT = 'CW'", "", "")
+
+ If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
+ _Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True)
+ 'ERROR_STATE = "NO USER"
+ MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
+ Return False
+ End If
+ If DT_CHECKUSER_MODULE.Rows.Count = 1 Then
+ _Logger.Info(">> Login Username: " & My.Application.User.UserName, False)
+ _Logger.Info(">> Login time: " & Now.ToString, False)
+ My.Application.User.UserId = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID")
+ My.Application.User.Surname = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME"))
+ My.Application.User.GivenName = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME"))
+ My.Application.User.ShortName = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME"))
+ My.Application.User.Email = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
+ My.Application.User.Language = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
+ My.Application.User.DateFormat = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT")
+
+ My.Application.User.IsAdmin = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
+ ADDITIONAL_TITLE = DT_CHECKUSER_MODULE.Rows(0).Item("ADDITIONAL_TITLE")
+ If ADDITIONAL_TITLE = String.Empty Then
+ ADDITIONAL_TITLE = My.Application.Info.ProductName
+ End If
+
+ Return True
+ Else
+ _Logger.Info(" - User '" & My.Application.User.UserName & "' not listed in Useradministration!", False)
+ 'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
+ 'Me.Close()
+ Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.")
+ MsgBox(msg, MsgBoxStyle.Exclamation)
+ Return False
+ End If
+ Catch ex As Exception
+ _Logger.Error(ex)
+ Return False
+ End Try
+
+ End Function
+ Public Sub Refresh_Connections()
+ Try
+ Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION")
+ Dim oResult As DataTable
+ DT_CONNECTIONS = GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "", "", "")
+ Catch ex As Exception
+ _Logger.Error(ex)
+ MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical)
+ End Try
+ End Sub
+End Class
diff --git a/GUIs.ZooFlow/ClassInit.vb b/GUIs.ZooFlow/ClassInit.vb
index 98397fcc..708cc0ce 100644
--- a/GUIs.ZooFlow/ClassInit.vb
+++ b/GUIs.ZooFlow/ClassInit.vb
@@ -8,16 +8,20 @@ Imports DigitalData.GUIs.ZooFlow.ClassInitLoader
Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports System.Threading
Imports System.Globalization
+Imports DigitalData.Modules.EDMI.API
Public Class ClassInit
Private _MainForm As frmFlowForm
Private _Logger As Logger
-
+ Private _LogConfig As LogConfig
Public Event Completed As EventHandler
+ Private _DataASorDB As ClassDataASorDB
Public Sub New(LogConfig As LogConfig, ParentForm As frmFlowForm)
_MainForm = ParentForm
_Logger = LogConfig.GetLogger()
+ _LogConfig = LogConfig
+ _DataASorDB = New ClassDataASorDB(LogConfig)
End Sub
Public Sub InitializeApplication()
@@ -114,7 +118,7 @@ Public Class ClassInit
Private Sub Initialize3rdParty(MyApplication As My.MyApplication)
Try
Dim oSql = "Select LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'"
- Dim oDatatable As DataTable = My.Database.GetDatatable(oSql)
+ Dim oDatatable As DataTable = _DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_3RD_PARTY_MODULES", "", "")
If oDatatable.Rows.Count = 0 Then
Throw New InitException("Konfiguration konnte nicht geladen werden!")
@@ -133,11 +137,11 @@ Public Class ClassInit
Private Sub InitBasicData(MyApplication As My.MyApplication)
Try
Dim oSql = "SELECT * FROM TBGI_FUNCTION_REGEX"
- My.Application.Globix.DT_FUNCTION_REGEX = My.Database.GetDatatable(oSql)
+ My.Application.Globix.DT_FUNCTION_REGEX = _DataASorDB.GetDatatable("DD_ECM", oSql, "TBGI_FUNCTION_REGEX", "", "")
oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1"
- My.DTCOMMON_SQL = My.DatabaseIDB.GetDatatable(oSql)
+ My.DTCOMMON_SQL = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_COMMON_SQL", "", "")
oSql = "SELECT * FROM TBIDB_CATALOG"
- My.DTCATALOG = My.DatabaseIDB.GetDatatable(oSql)
+ My.DTCATALOG = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_CATALOG", "", "")
For Each oRow As DataRow In My.DTCATALOG.Rows
'Console.WriteLine(oRow.Item("CAT_TITLE").ToString)
Select Case oRow.Item("CAT_TITLE").ToString
@@ -159,7 +163,23 @@ Public Class ClassInit
Private Sub InitializeIDBService(MyApplication As My.MyApplication)
Try
MyApplication.Service.Address = My.SystemConfig.AppServerConfig
- MyApplication.Service.IsActive = True
+
+ Dim oSplit() As String = MyApplication.Service.Address.Split(":")
+ Dim oAppServerAddress As String = oSplit(0)
+ Dim oAppServerPort As Integer = 9000
+ If oSplit.Length = 2 Then
+ oAppServerPort = oSplit(1)
+ End If
+ _Client = New Client(_LogConfig, oAppServerAddress, oAppServerPort)
+ If Not IsNothing(_Client) Then
+ If _Client.Connect() Then
+ MyApplication.Service.IsActive = True
+
+ End If
+ End If
+
+
+
Catch ex As Exception
_Logger.Error(ex)
Throw New InitException("Error in InitBasicData")
diff --git a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
index dbb6166d..de17d234 100644
--- a/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
+++ b/GUIs.ZooFlow/Globix/frmGlobix_Index.vb
@@ -950,6 +950,8 @@ Public Class frmGlobix_Index
Dim oExportSuccessful As Boolean = False
'Variable Folder
If DropType = "|DROPFROMFSYSTEM|" Or DropType = "|OUTLOOK_ATTACHMENT|" Or DropType = "|ATTMNTEXTRACTED|" Or DropType = "|FW_SIMPLEINDEXER|" Then
+ Move_File(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME, My.Application.Globix.CURRENT_WORKFILE_EXTENSION, My.Application.Globix.FILE_DELIMITER)
+
' oExportSuccessful = SINGLEFILE_2_WINDREAM(My.Application.Globix.CURR_D)
ElseIf DropType = "|OUTLOOK_MESSAGE|" Or DropType = "|FW_MSGONLY|" Or DropType = "|MSGONLY|" Or DropType = "|FW_OUTLOOK_MESSAGE|" Then
' oExportSuccessful = SINGLEFILE_2_WINDREAM(CURR_DOKART_OBJECTTYPE)
@@ -1020,7 +1022,82 @@ Public Class frmGlobix_Index
Return False
End Try
End Function
- Private Function
+ Private Function ImportFile2IDB() As Boolean
+ Try
+ If Move_File(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME, My.Application.Globix.CURRENT_WORKFILE_EXTENSION, My.Application.Globix.VERSION_DELIMITER) = True Then
+ Dim oEXEC As String = $"EXEC PRIDB_ADD_DOC_FROM_FOLDER '{My.Application.Globix.CURRENT_NEWFILENAME}','{My.Application.User.UserName}'"
+ Dim oDTRESULT As DataTable = My.DatabaseIDB.GetDatatable(oEXEC)
+ If IsNothing(oDTRESULT) Then
+ Return False
+ Else
+ If oDTRESULT.Rows.Count = 0 Then
+ Return False
+ Else
+ My.Application.Globix.CURRENT_DOC_ID = oDTRESULT.Rows(0).Item(0)
+ Return True
+ End If
+ End If
+ End If
+
+
+ Catch ex As Exception
+ _Logger.Error(ex)
+ End Try
+ End Function
+ Function Move_File(Quelle As String, _NewFilename As String, extension As String, _versionTz As String) As Boolean
+ 'Überprüfen ob File existiert
+ If File.Exists(_NewFilename) = False Then
+ My.Application.Globix.CURRENT_NEWFILENAME = _NewFilename
+ Else
+ 'Versionieren
+ Dim version As Integer = 1
+ Dim Stammname As String = _NewFilename
+ Dim neuername As String = _NewFilename
+ Do While File.Exists(neuername)
+ version = version + 1
+ neuername = Stammname.Replace(extension, "") & _versionTz & version & extension
+ My.Application.Globix.CURRENT_NEWFILENAME = neuername
+ Loop
+ End If
+ 'Die Datei wird nun verschoben
+ If My.Application.Globix.CURR_DELETE_ORIGIN = True Then
+ My.Computer.FileSystem.MoveFile(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME)
+ Else
+ My.Computer.FileSystem.CopyFile(My.Application.Globix.CURRENT_WORKFILE, My.Application.Globix.CURRENT_NEWFILENAME)
+ End If
+
+ Dim Insert_String As String
+ Try
+ Dim tempCur_WF = My.Application.Globix.CURRENT_WORKFILE.Replace("'", "''")
+ Dim tempCur_New_FN = My.Application.Globix.CURRENT_NEWFILENAME.Replace("'", "''")
+ Insert_String = sql_history_INSERT_INTO & ",ADDED_WHO,ADDED_WHERE) VALUES ('" & tempCur_WF & "','" & tempCur_New_FN & "'" & sql_history_Index_Values & ",'" & Environment.UserDomainName & "\" & Environment.UserName & "','" & Environment.MachineName & "')"
+ If My.Database.ExecuteNonQuery(Insert_String) = True Then
+ If My.Application.Globix.CURRENT_MESSAGEID <> "" Then
+ Dim oMax As String = "SELECT MAX(GUID) FROM TBGI_HISTORY"
+ Dim oGUID = My.Database.GetScalarValue(oMax)
+ Try
+ If oGUID > 0 Then
+ Dim oSql As String
+ If My.Application.Globix.CURRENT_ISATTACHMENT = True Then
+ oSql = "Update TBGI_HISTORY SET ATTACHMENT = 1, MSG_ID = '" & My.Application.Globix.CURRENT_MESSAGEID & "' WHERE GUID = " & oGUID
+ My.Database.GetScalarValue(oSql)
+ Else
+ oSql = "Update TBGI_HISTORY SET ATTACHMENT = 0, MSG_ID = '" & My.Application.Globix.CURRENT_MESSAGEID & "' WHERE GUID = " & oGUID
+ My.Database.GetScalarValue(oSql)
+ End If
+ End If
+ Catch ex As Exception
+
+ End Try
+ End If
+ End If
+ Return True
+ Catch ex As Exception
+ _Logger.Error(ex.Message)
+ _Logger.Warn(" - Unexpected error in Move_Rename - Insert_String: " & Insert_String)
+ Return False
+ End Try
+ End Function
Private Function Write_Indizes()
Try
Dim indexierung_erfolgreich As Boolean = False
diff --git a/GUIs.ZooFlow/ModuleHelpers.vb b/GUIs.ZooFlow/ModuleHelpers.vb
index 3c5f369e..e266785e 100644
--- a/GUIs.ZooFlow/ModuleHelpers.vb
+++ b/GUIs.ZooFlow/ModuleHelpers.vb
@@ -2,6 +2,7 @@
Imports System.Text.RegularExpressions
Module ModuleHelpers
+
'''
''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist.
'''
diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj
index 013afe23..fee39b72 100644
--- a/GUIs.ZooFlow/ZooFlow.vbproj
+++ b/GUIs.ZooFlow/ZooFlow.vbproj
@@ -114,6 +114,7 @@
+
frmFlowSearch.vb
diff --git a/GUIs.ZooFlow/modCurrent.vb b/GUIs.ZooFlow/modCurrent.vb
index 2ceafdb7..8e102522 100644
--- a/GUIs.ZooFlow/modCurrent.vb
+++ b/GUIs.ZooFlow/modCurrent.vb
@@ -1,3 +1,7 @@
-Module modCurrent
+Imports DigitalData.Modules.EDMI.API
+Module modCurrent
+ Public _Client As Client
+ Public ADDITIONAL_TITLE As String
+ Public DT_CONNECTIONS As DataTable
End Module
diff --git a/Modules.ZooFlow/State/UserState.vb b/Modules.ZooFlow/State/UserState.vb
index cd015f3a..e92f1ae0 100644
--- a/Modules.ZooFlow/State/UserState.vb
+++ b/Modules.ZooFlow/State/UserState.vb
@@ -14,6 +14,7 @@ Namespace State
Public Property MachineName As String
Public Property DateFormat As String
Public Property Language As String
+ Public Property IsAdmin As Boolean = False
Public Property HideBasicConfig As Boolean = False