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(pSQL As String, pAppServDT As String, pAppServFilter As String, pAppServSort As String, pForce As String) As DataTable Try Dim oReturnDT As DataTable If APPSERVER_ACTIVE = 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(pSQL, "", "", "", "DB") End If Catch ex As Exception _Logger.Warn($"Error getting ApPServData [{pAppServDT} - {pAppServFilter}]") Return GetDatatable(pSQL, "", "", "", "DB") End Try Else oReturnDT = Database.GetDatatable(pSQL) 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})", USER_USERNAME, CLIENT_SELECTED) Dim DT_CHECKUSER_MODULE As DataTable DT_CHECKUSER_MODULE = GetDatatable(oSql, "TBDD_USER_MODULE", $"USERNAME = '{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: " & USER_USERNAME, False) Logger.Info(">> Login time: " & Now.ToString, False) 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_DATE_FORMAT = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT") USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS") USER_IS_ADMIN = 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 USERCOUNT_LOGGED_IN = DT_CHECKUSER_MODULE.Rows(0).Item("USERCOUNT_LOGGED_IN") USERCOUNT_LOGGED_IN += 1 Try WORKING_MODE = DT_CHECKUSER_MODULE.Rows(0).Item("WORKING_MODE") Catch ex As Exception WORKING_MODE = "" End Try Dim oSplitWorkMode As String() = WORKING_MODE.Split("#") Dim oMode As String For Each oMode In oSplitWorkMode Logger.Debug($"oWorkingMode Parameter: {oMode}") If oMode = "NO_BASICCONF" Then BASIC_CONF_VISIBLE = False ElseIf oMode.StartsWith("NOMATCH_INFO") Then Try Dim oResult = oMode.Replace("NOMATCH_INFO=", "") Logger.Info($"NOMATCH_INFO will be set to {oResult}") NOMATCH_INFO = CBool(oResult) Catch ex As Exception NOMATCH_INFO = False End Try ElseIf oMode.StartsWith("HotkeySearchKey") Then Try Dim oResult = oMode.Replace("HotkeySearchKey=", "") HotkeySearchKey = oResult HotkeySearchKey_via_Server = True Catch ex As Exception HotkeySearchKey_via_Server = "d" End Try Else Logger.Info($"Wrong oMode: {oMode}") End If Next Return True Else Logger.Info(" - User '" & 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 oDatatable As New MyDataset.TBDD_CONNECTIONDataTable() Dim oResult As DataTable oResult = GetDatatable(oSql, "TBDD_CONNECTION", "", "", "") 'If APPSERVER_ACTIVE = True Then ' Dim oTableResult As TableResult = _Client.GetDatatableByName("TBDD_CONNECTION") ' oResult = oTableResult.Table 'Else ' oResult = Database.GetDatatable(oSql) 'End If oDatatable.Merge(oResult) DT_CONNECTIONS = oDatatable Catch ex As Exception Logger.Error(ex) MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub End Class