MS INtegration AppServer Init

This commit is contained in:
SchreiberM 2021-01-13 13:23:34 +01:00
parent 7c26411407
commit f78f3f84b0
7 changed files with 204 additions and 8 deletions

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -2,6 +2,7 @@
Imports System.Text.RegularExpressions
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>

View File

@ -114,6 +114,7 @@
<Compile Include="Base\BaseClass.vb" />
<Compile Include="ClassClipboardWatcher.vb" />
<Compile Include="ClassCommandlineArgs.vb" />
<Compile Include="ClassDataASorDB.vb" />
<Compile Include="modCurrent.vb" />
<Compile Include="Search\frmFlowSearch.Designer.vb">
<DependentUpon>frmFlowSearch.vb</DependentUpon>

View File

@ -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

View File

@ -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