Add My.Common Namespace for DB Commands and Views

This commit is contained in:
Jonathan Jenne
2019-03-22 16:24:20 +01:00
parent 743b936cdd
commit 0f4c04dde7
7 changed files with 150 additions and 32 deletions

View File

@@ -0,0 +1,17 @@
Imports DigitalData.Modules.Logging
Public Class ClassCommon
Private _LogConfig As LogConfig
Private _Logger As Logger
Public Commands As ClassCommonCommands
Public Views As ClassCommonViews
Public Sub New(LogConfig As LogConfig)
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
Commands = New ClassCommonCommands(LogConfig)
Views = New ClassCommonViews(LogConfig)
End Sub
End Class

View File

@@ -0,0 +1,81 @@
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMIFileOps.EDMIServiceReference
Public Class ClassCommonCommands
Private _LogConfig As LogConfig
Private _Logger As Logger
Public Sub New(LogConfig As LogConfig)
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
End Sub
Public Async Function FNICM_RADM_NEW_USER2GROUP(UserId As Integer, GroupId As Integer) As Task(Of Integer)
Try
Dim oSQL = $"SELECT FNICM_RADM_NEW_USER2GROUP({UserId},{GroupId}, '{Environment.UserName}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add User To Group", False)
Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync()
If oResult.OK Then
Return oResult.Scalar
Else
Return Nothing
End If
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
Public Async Function FNICM_RADM_NEW_GROUP2GROUP(ParentGroupId As Integer, GroupId As Integer) As Task(Of Integer)
Try
Dim oSQL = $"SELECT FNICM_RADM_NEW_GROUP2GROUP({GroupId},{ParentGroupId}, '{Environment.UserName}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Add Group To Group", False)
Dim oRecordIds As New List(Of Integer)
Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync()
If oResult.OK Then
Return oResult.Scalar
Else
Return Nothing
End If
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
Public Async Function FNICM_DELETE_RECORD_FINALLY(RecordId As Integer) As Task(Of Boolean)
Try
Dim oSQL = $"SELECT FNICM_DELETE_RECORD_FINALLY({RecordId},'{Environment.UserName}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Delete Record", False)
Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync()
Return oResult.OK
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
Public Async Function FNICM_NEW_DOC_VALUE(DocumentId As Int64, Syskey As String, LanguageKey As String, Value As String) As Task(Of ScalarResult)
Try
Dim oSQL = $"SELECT FNICM_NEW_DOC_VALUE({DocumentId}, '{Syskey}', '{LanguageKey}', '{My.Application.User.UserName}', '{Value}') FROM RDB$DATABASE;"
Dim oRequest = Await My.Channel.CreateDatabaseRequestAsync($"Delete Record", False)
Dim oResult = Await My.Channel.ReturnScalarAsync(oSQL)
Await My.Channel.CloseDatabaseRequestAsync()
Return oResult
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
End Class

View File

@@ -0,0 +1,33 @@
Imports DigitalData.Modules.Logging
Public Class ClassCommonViews
Private _LogConfig As LogConfig
Private _Logger As Logger
Public Sub New(LogConfig As LogConfig)
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
End Sub
Public Async Function VWICM_FORM_CONTROL(FormId As Int64) As Task(Of DataTable)
Try
My.Channel.CreateDatabaseRequest("Load Controls", True)
Dim oSQL As String = $"SELECT * FROM VWICM_FORMCONTROL WHERE FORMID = {FormId}"
Dim oResult = Await My.Channel.ReturnDatatableAsync(oSQL)
Dim oTable = oResult.Table
If Not oResult.OK Then
_Logger.Error(New ApplicationException(oResult.ErrorMessage))
Return Nothing
End If
My.Channel.CloseDatabaseRequest()
Return oResult.Table
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
End Class