EDMI: Work on ClassDataASorDB

This commit is contained in:
Jonathan Jenne
2021-06-30 16:35:21 +02:00
parent d79340d54f
commit 8e8374fc88
24 changed files with 210 additions and 131 deletions

View File

@@ -8,6 +8,8 @@ Public Class Client
Private Const INVALID_OBEJCT_ID As Long = 0
Private Const KIND_TYPE_DOC = "DOC"
Public Const DEFAULT_SERVICE_PORT = 9000
Private ReadOnly _logger As Logger
Private ReadOnly _channelFactory As ChannelFactory(Of IEDMIServiceChannel)
Private ReadOnly _IPAddressServer As String
@@ -27,6 +29,22 @@ Public Class Client
Public AccessRight As AccessRight
End Class
Public Shared Function ParseServiceAddress(AddressWithOptionalPort As String) As Tuple(Of String, Integer)
Dim oSplit() As String = AddressWithOptionalPort.Split(":"c)
Dim oAppServerAddress As String = oSplit(0)
Dim oAppServerPort As Integer
If oSplit.Length = 2 Then
If Integer.TryParse(oSplit(1), oAppServerPort) Then
oAppServerPort = DEFAULT_SERVICE_PORT
End If
Else
oAppServerPort = DEFAULT_SERVICE_PORT
End If
Return New Tuple(Of String, Integer)(oAppServerAddress, oAppServerPort)
End Function
''' <summary>
''' Creates a new EDMI Client object
''' </summary>

View File

@@ -0,0 +1,6 @@
Public Class Constants
Public Enum DatabaseType
ECM
IDB
End Enum
End Class

View File

@@ -1,20 +1,15 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Public Class DataWithFallback
Private _Logger As Logger
Private _Client As Client
Private _DatabaseEDM As MSSQLServer
Private _DatabaseIDB As MSSQLServer
Private _Type As DatabaseType
Public Enum DatabaseType
ECM
IDB
End Enum
Public Class DatabaseWithFallback
Private ReadOnly _Logger As Logger
Private ReadOnly _Client As Client
Private ReadOnly _DatabaseEDM As MSSQLServer
Private ReadOnly _DatabaseIDB As MSSQLServer
Public Sub New(LogConfig As LogConfig, Client As Client, DatabaseECM As MSSQLServer, DatabaseIDB As MSSQLServer)
_Logger = LogConfig.GetLogger()
@@ -23,7 +18,7 @@ Public Class DataWithFallback
_DatabaseIDB = DatabaseIDB
End Sub
Public Function GetDatatable(DataTable As String, FilterExpression As String, SortByColumn As String, FallbackSQL As String, FallbackType As DatabaseType, Optional ForceFallback As Boolean = False) As DataTable
Public Function GetDatatable(DataTable As String, FallbackSQL As String, FallbackType As Constants.DatabaseType, Optional FilterExpression As String = "", Optional SortByColumn As String = "", Optional ForceFallback As Boolean = False) As DataTable
Try
Dim oResult As DataTable = Nothing

View File

@@ -80,7 +80,8 @@
<DependentUpon>Reference.svcmap</DependentUpon>
</Compile>
<Compile Include="Client.vb" />
<Compile Include="DataWithFallback.vb" />
<Compile Include="Constants.vb" />
<Compile Include="DatabaseWithFallback.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
@@ -96,7 +97,7 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="DataWithFallback\UserData.vb" />
<Compile Include="DatabaseWithFallback\UserData.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">