EDMI: Add 3-tier database access in DatabaseWithFallback, add client config,
EDMI Service: Version 2.4.0.0 EDMI: API: Version 1.4.0.0
This commit is contained in:
parent
7d46951b60
commit
bcbfba37b2
@ -21,6 +21,7 @@ Public Class Client
|
|||||||
' Runtime Variables
|
' Runtime Variables
|
||||||
Private ReadOnly ServerAddress As String
|
Private ReadOnly ServerAddress As String
|
||||||
Private ReadOnly ServerPort As Integer
|
Private ReadOnly ServerPort As Integer
|
||||||
|
Private ClientConfig As ConfigClientConfiguration
|
||||||
|
|
||||||
' Channel
|
' Channel
|
||||||
Private ReadOnly ChannelFactory As ChannelFactory(Of IEDMIServiceChannel)
|
Private ReadOnly ChannelFactory As ChannelFactory(Of IEDMIServiceChannel)
|
||||||
@ -32,6 +33,7 @@ Public Class Client
|
|||||||
' Public Variables
|
' Public Variables
|
||||||
Public CachedTables As New List(Of String)
|
Public CachedTables As New List(Of String)
|
||||||
|
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Parse a IPAddress:Port String into its parts
|
''' Parse a IPAddress:Port String into its parts
|
||||||
''' </summary>
|
''' </summary>
|
||||||
@ -121,6 +123,12 @@ Public Class Client
|
|||||||
|
|
||||||
Logger.Debug("Opening channel..")
|
Logger.Debug("Opening channel..")
|
||||||
Channel.Open()
|
Channel.Open()
|
||||||
|
Dim oResponse = Channel.GetClientConfig()
|
||||||
|
If oResponse.OK Then
|
||||||
|
ClientConfig = oResponse.ClientConfig
|
||||||
|
Else
|
||||||
|
Logger.Warn("Client Configuration could not be loaded: [{0}]", oResponse.ErrorMessage)
|
||||||
|
End If
|
||||||
|
|
||||||
Logger.Info($"Connection to AppService {ServerAddress} successfully established!")
|
Logger.Info($"Connection to AppService {ServerAddress} successfully established!")
|
||||||
|
|
||||||
@ -146,6 +154,14 @@ Public Class Client
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Function TryGetClientConfig() As ConfigClientConfiguration
|
||||||
|
If ClientConfig Is Nothing Then
|
||||||
|
Throw New ApplicationException("ClientConfig is empty! Please connect to the service before calling this function")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return ClientConfig
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Async Function UpdateTimer_Elapsed(sender As Object, e As ElapsedEventArgs) As Task Handles UpdateTimer.Elapsed
|
Private Async Function UpdateTimer_Elapsed(sender As Object, e As ElapsedEventArgs) As Task Handles UpdateTimer.Elapsed
|
||||||
Try
|
Try
|
||||||
Dim oTables As String() = Await Channel.GetCachedTablesAsync()
|
Dim oTables As String() = Await Channel.GetCachedTablesAsync()
|
||||||
@ -674,6 +690,62 @@ Public Class Client
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQueryFromIDB(pSQL As String, Optional pConnectionId As Integer = 0) As ExecuteNonQueryResponse
|
||||||
|
Try
|
||||||
|
Dim oResponse = Channel.ExecuteNonQuery(New ExecuteNonQueryRequest() With {
|
||||||
|
.SqlCommand = pSQL,
|
||||||
|
.NamedDatabase = DatabaseName.IDB,
|
||||||
|
.ConnectionId = pConnectionId
|
||||||
|
})
|
||||||
|
Return oResponse
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQueryFromECM(pSQL As String, Optional pConnectionId As Integer = 0) As ExecuteNonQueryResponse
|
||||||
|
Try
|
||||||
|
Dim oResponse = Channel.ExecuteNonQuery(New ExecuteNonQueryRequest() With {
|
||||||
|
.SqlCommand = pSQL,
|
||||||
|
.NamedDatabase = DatabaseName.ECM,
|
||||||
|
.ConnectionId = pConnectionId
|
||||||
|
})
|
||||||
|
Return oResponse
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Async Function ExecuteNonQueryFromIDBAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of ExecuteNonQueryResponse)
|
||||||
|
Try
|
||||||
|
Dim oResponse = Await Channel.ExecuteNonQueryAsync(New ExecuteNonQueryRequest() With {
|
||||||
|
.SqlCommand = pSQL,
|
||||||
|
.NamedDatabase = DatabaseName.IDB,
|
||||||
|
.ConnectionId = pConnectionId
|
||||||
|
})
|
||||||
|
Return oResponse
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Async Function ExecuteNonQueryFromECMAsync(pSQL As String, Optional pConnectionId As Integer = 0) As Task(Of ExecuteNonQueryResponse)
|
||||||
|
Try
|
||||||
|
Dim oResponse = Await Channel.ExecuteNonQueryAsync(New ExecuteNonQueryRequest() With {
|
||||||
|
.SqlCommand = pSQL,
|
||||||
|
.NamedDatabase = DatabaseName.ECM,
|
||||||
|
.ConnectionId = pConnectionId
|
||||||
|
})
|
||||||
|
Return oResponse
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function GetDatatableByName(DatatableName As String, Optional FilterExpression As String = "", Optional SortByColumn As String = "") As TableResult
|
Public Function GetDatatableByName(DatatableName As String, Optional FilterExpression As String = "", Optional SortByColumn As String = "") As TableResult
|
||||||
Try
|
Try
|
||||||
Dim oResponse = Channel.ReturnDatatableFromCache(DatatableName, FilterExpression, SortByColumn)
|
Dim oResponse = Channel.ReturnDatatableFromCache(DatatableName, FilterExpression, SortByColumn)
|
||||||
@ -694,6 +766,8 @@ Public Class Client
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Return infos about a file object
|
''' Return infos about a file object
|
||||||
''' </summary>
|
''' </summary>
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="ExecuteNonQueryResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>DigitalData.Modules.EDMI.API.EDMIServiceReference.ExecuteNonQueryResponse, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="GetClientConfigResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>DigitalData.Modules.EDMI.API.EDMIServiceReference.GetClientConfigResponse, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@ -1,5 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:complexType name="BaseResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ErrorDetails" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
|
||||||
|
<xs:element minOccurs="0" name="OK" type="xs:boolean" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="BaseResponse" nillable="true" type="tns:BaseResponse" />
|
||||||
<xs:complexType name="TableResult">
|
<xs:complexType name="TableResult">
|
||||||
<xs:complexContent mixed="false">
|
<xs:complexContent mixed="false">
|
||||||
<xs:extension base="tns:BaseResponse">
|
<xs:extension base="tns:BaseResponse">
|
||||||
@ -23,14 +31,6 @@
|
|||||||
</xs:complexContent>
|
</xs:complexContent>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
<xs:element name="TableResult" nillable="true" type="tns:TableResult" />
|
<xs:element name="TableResult" nillable="true" type="tns:TableResult" />
|
||||||
<xs:complexType name="BaseResponse">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element minOccurs="0" name="ErrorDetails" nillable="true" type="xs:string" />
|
|
||||||
<xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
|
|
||||||
<xs:element minOccurs="0" name="OK" type="xs:boolean" />
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:element name="BaseResponse" nillable="true" type="tns:BaseResponse" />
|
|
||||||
<xs:complexType name="ScalarResult">
|
<xs:complexType name="ScalarResult">
|
||||||
<xs:complexContent mixed="false">
|
<xs:complexContent mixed="false">
|
||||||
<xs:extension base="tns:BaseResponse">
|
<xs:extension base="tns:BaseResponse">
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Base.GetClientConfig" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Base.GetClientConfig" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" />
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
|
<xs:complexType name="GetClientConfigResponse">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" base="q1:BaseResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" minOccurs="0" name="ClientConfig" nillable="true" type="q2:Config.ClientConfiguration" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:extension>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="GetClientConfigResponse" nillable="true" type="tns:GetClientConfigResponse" />
|
||||||
|
</xs:schema>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database" />
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
|
<xs:complexType name="ExecuteNonQueryRequest">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ConnectionId" type="xs:int" />
|
||||||
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database" minOccurs="0" name="DatabaseType" type="q1:DatabaseType" />
|
||||||
|
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database" minOccurs="0" name="NamedDatabase" type="q2:DatabaseName" />
|
||||||
|
<xs:element minOccurs="0" name="SqlCommand" nillable="true" type="xs:string" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ExecuteNonQueryRequest" nillable="true" type="tns:ExecuteNonQueryRequest" />
|
||||||
|
<xs:complexType name="ExecuteNonQueryResponse">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" base="q3:BaseResponse">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="Result" type="xs:boolean" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:extension>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ExecuteNonQueryResponse" nillable="true" type="tns:ExecuteNonQueryResponse" />
|
||||||
|
</xs:schema>
|
||||||
@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xs:complexType name="ImportFileRequest">
|
<xs:complexType name="ImportFileRequest">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" minOccurs="0" name="AttributeValues" nillable="true" type="q1:ArrayOfUserAttributeValue" />
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" minOccurs="0" name="AttributeValues" nillable="true" type="q1:ArrayOfUserAttributeValue" />
|
||||||
<xs:element minOccurs="0" name="BusinessEntity" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="BusinessEntity" nillable="true" type="xs:string" />
|
||||||
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" minOccurs="0" name="File" nillable="true" type="q2:FileProperties" />
|
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" minOccurs="0" name="File" nillable="true" type="q2:FileProperties" />
|
||||||
<xs:element minOccurs="0" name="KindType" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="KindType" nillable="true" type="xs:string" />
|
||||||
<xs:element minOccurs="0" name="ProfileId" type="xs:int" />
|
<xs:element minOccurs="0" name="ProfileId" type="xs:int" />
|
||||||
<xs:element minOccurs="0" name="StoreName" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="StoreName" nillable="true" type="xs:string" />
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xs:complexType name="GetFileObjectRequest">
|
<xs:complexType name="GetFileObjectRequest">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xs:complexType name="NewFileRequest">
|
<xs:complexType name="NewFileRequest">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element minOccurs="0" name="BusinessEntity" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="BusinessEntity" nillable="true" type="xs:string" />
|
||||||
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" minOccurs="0" name="File" nillable="true" type="q1:FileProperties" />
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" minOccurs="0" name="File" nillable="true" type="q1:FileProperties" />
|
||||||
<xs:element minOccurs="0" name="KindType" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="KindType" nillable="true" type="xs:string" />
|
||||||
<xs:element minOccurs="0" name="StoreName" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="StoreName" nillable="true" type="xs:string" />
|
||||||
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" minOccurs="0" name="User" nillable="true" type="q2:UserState" />
|
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" minOccurs="0" name="User" nillable="true" type="q2:UserState" />
|
||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xs:complexType name="SetAttributeValueRequest">
|
<xs:complexType name="SetAttributeValueRequest">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/System.IO" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/System.IO" />
|
||||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||||
<xs:complexType name="FileProperties">
|
<xs:complexType name="FileProperties">
|
||||||
@ -4,21 +4,24 @@
|
|||||||
<xsd:schema targetNamespace="http://DigitalData.Services.EDMIService/Imports">
|
<xsd:schema targetNamespace="http://DigitalData.Services.EDMIService/Imports">
|
||||||
<xsd:import namespace="http://DigitalData.Services.EDMIService" />
|
<xsd:import namespace="http://DigitalData.Services.EDMIService" />
|
||||||
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
|
||||||
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Base.GetClientConfig" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Exceptions" />
|
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System" />
|
||||||
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" />
|
||||||
|
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||||
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Exceptions" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Data" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Data" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" />
|
||||||
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System.IO" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/System.IO" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.ZooFlow.State" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" />
|
||||||
<xsd:import namespace="http://schemas.microsoft.com/Message" />
|
<xsd:import namespace="http://schemas.microsoft.com/Message" />
|
||||||
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
|
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
|
||||||
</xsd:schema>
|
</xsd:schema>
|
||||||
@ -29,6 +32,12 @@
|
|||||||
<wsdl:message name="IEDMIService_Heartbeat_OutputMessage">
|
<wsdl:message name="IEDMIService_Heartbeat_OutputMessage">
|
||||||
<wsdl:part name="parameters" element="tns:HeartbeatResponse" />
|
<wsdl:part name="parameters" element="tns:HeartbeatResponse" />
|
||||||
</wsdl:message>
|
</wsdl:message>
|
||||||
|
<wsdl:message name="IEDMIService_GetClientConfig_InputMessage">
|
||||||
|
<wsdl:part name="parameters" element="tns:GetClientConfig" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="IEDMIService_GetClientConfig_OutputMessage">
|
||||||
|
<wsdl:part name="parameters" element="tns:GetClientConfigResponse" />
|
||||||
|
</wsdl:message>
|
||||||
<wsdl:message name="IEDMIService_GetCachedTables_InputMessage">
|
<wsdl:message name="IEDMIService_GetCachedTables_InputMessage">
|
||||||
<wsdl:part name="parameters" element="tns:GetCachedTables" />
|
<wsdl:part name="parameters" element="tns:GetCachedTables" />
|
||||||
</wsdl:message>
|
</wsdl:message>
|
||||||
@ -59,6 +68,12 @@
|
|||||||
<wsdl:message name="IEDMIService_ReturnScalarValue_OutputMessage">
|
<wsdl:message name="IEDMIService_ReturnScalarValue_OutputMessage">
|
||||||
<wsdl:part name="parameters" element="tns:ReturnScalarValueResponse" />
|
<wsdl:part name="parameters" element="tns:ReturnScalarValueResponse" />
|
||||||
</wsdl:message>
|
</wsdl:message>
|
||||||
|
<wsdl:message name="IEDMIService_ExecuteNonQuery_InputMessage">
|
||||||
|
<wsdl:part name="parameters" element="tns:ExecuteNonQuery" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="IEDMIService_ExecuteNonQuery_OutputMessage">
|
||||||
|
<wsdl:part name="parameters" element="tns:ExecuteNonQueryResponse" />
|
||||||
|
</wsdl:message>
|
||||||
<wsdl:message name="IEDMIService_ReturnDatatable_Firebird_InputMessage">
|
<wsdl:message name="IEDMIService_ReturnDatatable_Firebird_InputMessage">
|
||||||
<wsdl:part name="parameters" element="tns:ReturnDatatable_Firebird" />
|
<wsdl:part name="parameters" element="tns:ReturnDatatable_Firebird" />
|
||||||
</wsdl:message>
|
</wsdl:message>
|
||||||
@ -209,6 +224,10 @@
|
|||||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/Heartbeat" message="tns:IEDMIService_Heartbeat_InputMessage" />
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/Heartbeat" message="tns:IEDMIService_Heartbeat_InputMessage" />
|
||||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/HeartbeatResponse" message="tns:IEDMIService_Heartbeat_OutputMessage" />
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/HeartbeatResponse" message="tns:IEDMIService_Heartbeat_OutputMessage" />
|
||||||
</wsdl:operation>
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="GetClientConfig">
|
||||||
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfig" message="tns:IEDMIService_GetClientConfig_InputMessage" />
|
||||||
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfigResponse" message="tns:IEDMIService_GetClientConfig_OutputMessage" />
|
||||||
|
</wsdl:operation>
|
||||||
<wsdl:operation name="GetCachedTables">
|
<wsdl:operation name="GetCachedTables">
|
||||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables" message="tns:IEDMIService_GetCachedTables_InputMessage" />
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables" message="tns:IEDMIService_GetCachedTables_InputMessage" />
|
||||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTablesResponse" message="tns:IEDMIService_GetCachedTables_OutputMessage" />
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTablesResponse" message="tns:IEDMIService_GetCachedTables_OutputMessage" />
|
||||||
@ -227,6 +246,10 @@
|
|||||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValue" message="tns:IEDMIService_ReturnScalarValue_InputMessage" />
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValue" message="tns:IEDMIService_ReturnScalarValue_InputMessage" />
|
||||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValueResponse" message="tns:IEDMIService_ReturnScalarValue_OutputMessage" />
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValueResponse" message="tns:IEDMIService_ReturnScalarValue_OutputMessage" />
|
||||||
</wsdl:operation>
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="ExecuteNonQuery">
|
||||||
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery" message="tns:IEDMIService_ExecuteNonQuery_InputMessage" />
|
||||||
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQueryResponse" message="tns:IEDMIService_ExecuteNonQuery_OutputMessage" />
|
||||||
|
</wsdl:operation>
|
||||||
<wsdl:operation name="ReturnDatatable_Firebird">
|
<wsdl:operation name="ReturnDatatable_Firebird">
|
||||||
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird" message="tns:IEDMIService_ReturnDatatable_Firebird_InputMessage" />
|
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird" message="tns:IEDMIService_ReturnDatatable_Firebird_InputMessage" />
|
||||||
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResponse" message="tns:IEDMIService_ReturnDatatable_Firebird_OutputMessage" />
|
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResponse" message="tns:IEDMIService_ReturnDatatable_Firebird_OutputMessage" />
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<xs:schema xmlns:tns="http://DigitalData.Services.EDMIService" elementFormDefault="qualified" targetNamespace="http://DigitalData.Services.EDMIService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
<xs:schema xmlns:tns="http://DigitalData.Services.EDMIService" elementFormDefault="qualified" targetNamespace="http://DigitalData.Services.EDMIService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Base.GetClientConfig" />
|
||||||
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
<xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" />
|
||||||
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" />
|
||||||
<xs:import namespace="http://schemas.microsoft.com/Message" />
|
<xs:import namespace="http://schemas.microsoft.com/Message" />
|
||||||
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
|
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
|
||||||
<xs:element name="Heartbeat">
|
<xs:element name="Heartbeat">
|
||||||
@ -22,6 +24,18 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element name="GetClientConfig">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence />
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="GetClientConfigResponse">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Base.GetClientConfig" minOccurs="0" name="GetClientConfigResult" nillable="true" type="q1:GetClientConfigResponse" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="GetCachedTables">
|
<xs:element name="GetCachedTables">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence />
|
<xs:sequence />
|
||||||
@ -30,7 +44,7 @@
|
|||||||
<xs:element name="GetCachedTablesResponse">
|
<xs:element name="GetCachedTablesResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetCachedTablesResult" nillable="true" type="q1:ArrayOfstring" />
|
<xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetCachedTablesResult" nillable="true" type="q2:ArrayOfstring" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -46,35 +60,49 @@
|
|||||||
<xs:element name="ReturnDatatableFromCacheResponse">
|
<xs:element name="ReturnDatatableFromCacheResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatableFromCacheResult" nillable="true" type="q2:TableResult" />
|
<xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatableFromCacheResult" nillable="true" type="q3:TableResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ReturnDatatable">
|
<xs:element name="ReturnDatatable">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" minOccurs="0" name="pData" nillable="true" type="q3:GetDatatableRequest" />
|
<xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" minOccurs="0" name="pData" nillable="true" type="q4:GetDatatableRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ReturnDatatableResponse">
|
<xs:element name="ReturnDatatableResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" minOccurs="0" name="ReturnDatatableResult" nillable="true" type="q4:GetDatatableResponse" />
|
<xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetDatatable" minOccurs="0" name="ReturnDatatableResult" nillable="true" type="q5:GetDatatableResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ReturnScalarValue">
|
<xs:element name="ReturnScalarValue">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" minOccurs="0" name="pData" nillable="true" type="q5:GetScalarValueRequest" />
|
<xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" minOccurs="0" name="pData" nillable="true" type="q6:GetScalarValueRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ReturnScalarValueResponse">
|
<xs:element name="ReturnScalarValueResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" minOccurs="0" name="ReturnScalarValueResult" nillable="true" type="q6:GetScalarValueResponse" />
|
<xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.GetScalarValue" minOccurs="0" name="ReturnScalarValueResult" nillable="true" type="q7:GetScalarValueResponse" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="ExecuteNonQuery">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" minOccurs="0" name="pData" nillable="true" type="q8:ExecuteNonQueryRequest" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="ExecuteNonQueryResponse">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery" minOccurs="0" name="ExecuteNonQueryResult" nillable="true" type="q9:ExecuteNonQueryResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -88,7 +116,7 @@
|
|||||||
<xs:element name="ReturnDatatable_FirebirdResponse">
|
<xs:element name="ReturnDatatable_FirebirdResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_FirebirdResult" nillable="true" type="q7:TableResult" />
|
<xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_FirebirdResult" nillable="true" type="q10:TableResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -102,7 +130,7 @@
|
|||||||
<xs:element name="ReturnScalar_FirebirdResponse">
|
<xs:element name="ReturnScalar_FirebirdResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_FirebirdResult" nillable="true" type="q8:ScalarResult" />
|
<xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_FirebirdResult" nillable="true" type="q11:ScalarResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -116,7 +144,7 @@
|
|||||||
<xs:element name="ExecuteNonQuery_FirebirdResponse">
|
<xs:element name="ExecuteNonQuery_FirebirdResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_FirebirdResult" nillable="true" type="q9:NonQueryResult" />
|
<xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_FirebirdResult" nillable="true" type="q12:NonQueryResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -130,7 +158,7 @@
|
|||||||
<xs:element name="ReturnDatatable_MSSQL_IDBResponse">
|
<xs:element name="ReturnDatatable_MSSQL_IDBResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_MSSQL_IDBResult" nillable="true" type="q10:TableResult" />
|
<xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_MSSQL_IDBResult" nillable="true" type="q13:TableResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -144,7 +172,7 @@
|
|||||||
<xs:element name="ReturnScalar_MSSQL_IDBResponse">
|
<xs:element name="ReturnScalar_MSSQL_IDBResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_MSSQL_IDBResult" nillable="true" type="q11:ScalarResult" />
|
<xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_MSSQL_IDBResult" nillable="true" type="q14:ScalarResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -158,7 +186,7 @@
|
|||||||
<xs:element name="ExecuteNonQuery_MSSQL_IDBResponse">
|
<xs:element name="ExecuteNonQuery_MSSQL_IDBResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_MSSQL_IDBResult" nillable="true" type="q12:NonQueryResult" />
|
<xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_MSSQL_IDBResult" nillable="true" type="q15:NonQueryResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -172,7 +200,7 @@
|
|||||||
<xs:element name="ReturnDatatable_MSSQL_ECMResponse">
|
<xs:element name="ReturnDatatable_MSSQL_ECMResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_MSSQL_ECMResult" nillable="true" type="q13:TableResult" />
|
<xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnDatatable_MSSQL_ECMResult" nillable="true" type="q16:TableResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -186,7 +214,7 @@
|
|||||||
<xs:element name="ReturnScalar_MSSQL_ECMResponse">
|
<xs:element name="ReturnScalar_MSSQL_ECMResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_MSSQL_ECMResult" nillable="true" type="q14:ScalarResult" />
|
<xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ReturnScalar_MSSQL_ECMResult" nillable="true" type="q17:ScalarResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -200,63 +228,63 @@
|
|||||||
<xs:element name="ExecuteNonQuery_MSSQL_ECMResponse">
|
<xs:element name="ExecuteNonQuery_MSSQL_ECMResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_MSSQL_ECMResult" nillable="true" type="q15:NonQueryResult" />
|
<xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="ExecuteNonQuery_MSSQL_ECMResult" nillable="true" type="q18:NonQueryResult" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="NewFile">
|
<xs:element name="NewFile">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" minOccurs="0" name="Data" nillable="true" type="q16:NewFileRequest" />
|
<xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" minOccurs="0" name="Data" nillable="true" type="q19:NewFileRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="NewFileResponse">
|
<xs:element name="NewFileResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.NewFile" minOccurs="0" name="NewFileResult" nillable="true" type="q17:NewFileResponse" />
|
<xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.NewFile" minOccurs="0" name="NewFileResult" nillable="true" type="q20:NewFileResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="SetAttributeValue">
|
<xs:element name="SetAttributeValue">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" minOccurs="0" name="Data" nillable="true" type="q18:SetAttributeValueRequest" />
|
<xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" minOccurs="0" name="Data" nillable="true" type="q21:SetAttributeValueRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="SetAttributeValueResponse">
|
<xs:element name="SetAttributeValueResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.SetAttributeValue" minOccurs="0" name="SetAttributeValueResult" nillable="true" type="q19:SetAttributeValueResponse" />
|
<xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue" minOccurs="0" name="SetAttributeValueResult" nillable="true" type="q22:SetAttributeValueResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ImportFile">
|
<xs:element name="ImportFile">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" minOccurs="0" name="Data" nillable="true" type="q20:ImportFileRequest" />
|
<xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" minOccurs="0" name="Data" nillable="true" type="q23:ImportFileRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ImportFileResponse">
|
<xs:element name="ImportFileResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" minOccurs="0" name="ImportFileResult" nillable="true" type="q21:ImportFileResponse" />
|
<xs:element xmlns:q24="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile" minOccurs="0" name="ImportFileResult" nillable="true" type="q24:ImportFileResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="GetFileObject">
|
<xs:element name="GetFileObject">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" minOccurs="0" name="Data" nillable="true" type="q22:GetFileObjectRequest" />
|
<xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" minOccurs="0" name="Data" nillable="true" type="q25:GetFileObjectRequest" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="GetFileObjectResponse">
|
<xs:element name="GetFileObjectResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.GetFileObject" minOccurs="0" name="GetFileObjectResult" nillable="true" type="q23:GetFileObjectResponse" />
|
<xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods.IDB.GetFileObject" minOccurs="0" name="GetFileObjectResult" nillable="true" type="q26:GetFileObjectResponse" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -270,7 +298,7 @@
|
|||||||
<xs:element name="DocumentStreamResponse">
|
<xs:element name="DocumentStreamResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q24="http://schemas.microsoft.com/Message" name="FileContents" type="q24:StreamBody" />
|
<xs:element xmlns:q27="http://schemas.microsoft.com/Message" name="FileContents" type="q27:StreamBody" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
@ -286,7 +314,7 @@
|
|||||||
<xs:element name="DocumentInfoResponse">
|
<xs:element name="DocumentInfoResponse">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" minOccurs="0" name="FileRight" type="q25:Rights.AccessRight" />
|
<xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" minOccurs="0" name="FileRight" type="q28:Rights.AccessRight" />
|
||||||
<xs:element minOccurs="0" name="FullPath" nillable="true" type="xs:string" />
|
<xs:element minOccurs="0" name="FullPath" nillable="true" type="xs:string" />
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:complexType name="Config.ClientConfiguration">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ForceDirectDatabaseAccess" type="xs:boolean" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Config.ClientConfiguration" nillable="true" type="tns:Config.ClientConfiguration" />
|
||||||
|
</xs:schema>
|
||||||
@ -26,21 +26,24 @@
|
|||||||
<MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="63e6618a-fa84-4922-b771-92728dee5bd0" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="63e6618a-fa84-4922-b771-92728dee5bd0" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.xsd" MetadataType="Schema" ID="8b75b395-459e-4678-b979-5e50ebd6a173" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.xsd" MetadataType="Schema" ID="8b75b395-459e-4678-b979-5e50ebd6a173" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="service.xsd" MetadataType="Schema" ID="1d0f216a-7f01-4129-a6bf-26e91c5e631d" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="service.xsd" MetadataType="Schema" ID="1d0f216a-7f01-4129-a6bf-26e91c5e631d" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="74eac9b3-9049-499b-bf42-5e443530645c" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Base.GetClientConfig.xsd" MetadataType="Schema" ID="4d5dbb0f-e03f-436a-b3a0-920704bd8dc2" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Messages.xsd" MetadataType="Schema" ID="e5cf75a6-ec46-4c8a-867b-a1c0a9ce8894" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Messages.xsd" MetadataType="Schema" ID="e5cf75a6-ec46-4c8a-867b-a1c0a9ce8894" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="System.xsd" MetadataType="Schema" ID="e0db7004-6943-4cf8-b88f-4811ed14a341" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="System.xsd" MetadataType="Schema" ID="e0db7004-6943-4cf8-b88f-4811ed14a341" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
|
<MetadataFile FileName="DigitalData.Services.EDMIService1.xsd" MetadataType="Schema" ID="fceb6ec5-bc49-4b1c-a5e5-5003db2119de" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
|
<MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="74eac9b3-9049-499b-bf42-5e443530645c" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="System.Data.xsd" MetadataType="Schema" ID="6c7bdb47-eea4-4d03-bc52-9747c865bbf0" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="System.Data.xsd" MetadataType="Schema" ID="6c7bdb47-eea4-4d03-bc52-9747c865bbf0" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Exceptions.xsd" MetadataType="Schema" ID="57cf2e83-7c36-485a-90c3-0bc4a1748882" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Exceptions.xsd" MetadataType="Schema" ID="57cf2e83-7c36-485a-90c3-0bc4a1748882" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.GetDatatable.xsd" MetadataType="Schema" ID="e84d237b-a864-4161-8c23-a11529d6863e" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.GetDatatable.xsd" MetadataType="Schema" ID="e84d237b-a864-4161-8c23-a11529d6863e" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.xsd" MetadataType="Schema" ID="79fe34a5-296f-43c5-93b9-b067ea9120f9" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.xsd" MetadataType="Schema" ID="79fe34a5-296f-43c5-93b9-b067ea9120f9" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.GetScalarValue.xsd" MetadataType="Schema" ID="a55d3b99-aeb5-443f-8ec9-a494606f88b9" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.GetScalarValue.xsd" MetadataType="Schema" ID="a55d3b99-aeb5-443f-8ec9-a494606f88b9" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.NewFile.xsd" MetadataType="Schema" ID="4904e1c4-87d9-4aae-81a8-71fa8354ae1e" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery.xsd" MetadataType="Schema" ID="293a3588-7f30-4479-82bb-79ecb1ef5741" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.xsd" MetadataType="Schema" ID="e00601d3-b9d7-40f2-b8be-337df13c7172" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.IDB.NewFile.xsd" MetadataType="Schema" ID="a2c8f25c-9c8e-403b-8390-823a05a8142d" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.IDB.xsd" MetadataType="Schema" ID="ff8eee6b-9a48-4ecf-9a99-ec43f65d1e5d" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="System.IO.xsd" MetadataType="Schema" ID="88cf8e31-2b3d-4d1a-9172-e7b0ea930e93" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="System.IO.xsd" MetadataType="Schema" ID="88cf8e31-2b3d-4d1a-9172-e7b0ea930e93" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Modules.ZooFlow.State.xsd" MetadataType="Schema" ID="c9ca2958-d16e-444e-ac34-40fc3c6a86cb" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Modules.ZooFlow.State.xsd" MetadataType="Schema" ID="c9ca2958-d16e-444e-ac34-40fc3c6a86cb" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.SetAttributeValue.xsd" MetadataType="Schema" ID="a34a2b84-4efd-4be1-83ee-bcb340176a49" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue.xsd" MetadataType="Schema" ID="09473ff2-6558-47e2-89ed-7c8bce746a4c" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd" MetadataType="Schema" ID="4c9227ac-82b3-4aff-bcb3-eab453dc69c5" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd" MetadataType="Schema" ID="4c9227ac-82b3-4aff-bcb3-eab453dc69c5" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.GetFileObject.xsd" MetadataType="Schema" ID="39eb9e73-dc51-4849-bb13-09c4d0753ad3" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Services.EDMIService.Methods.IDB.GetFileObject.xsd" MetadataType="Schema" ID="df5739a1-d592-43d7-9307-fa8e5580635c" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="Message.xsd" MetadataType="Schema" ID="2589e82f-d68f-4843-b153-a80edf895f82" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="Message.xsd" MetadataType="Schema" ID="2589e82f-d68f-4843-b153-a80edf895f82" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
<MetadataFile FileName="DigitalData.Modules.EDMI.API.xsd" MetadataType="Schema" ID="4eca5a54-795a-4e5b-a3b1-10c24930efec" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
<MetadataFile FileName="DigitalData.Modules.EDMI.API.xsd" MetadataType="Schema" ID="4eca5a54-795a-4e5b-a3b1-10c24930efec" SourceId="1" SourceUrl="net.tcp://172.24.12.39:9000/DigitalData/Services/Main/mex" />
|
||||||
</Metadata>
|
</Metadata>
|
||||||
|
|||||||
@ -21,15 +21,17 @@ Namespace EDMIServiceReference
|
|||||||
System.Runtime.Serialization.DataContractAttribute(Name:="BaseResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="BaseResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
||||||
""), _
|
""), _
|
||||||
System.SerializableAttribute(), _
|
System.SerializableAttribute(), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ScalarResult)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ScalarResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetDatatableResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetDatatableResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueResponse)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ExecuteNonQueryResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.SetAttributeValueResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ImportFileResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetFileObjectResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult))> _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetClientConfigResponse))> _
|
||||||
Partial Public Class BaseResponse
|
Partial Public Class BaseResponse
|
||||||
Inherits Object
|
Inherits Object
|
||||||
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||||
@ -105,17 +107,44 @@ Namespace EDMIServiceReference
|
|||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute(Name:="TableResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
||||||
|
""), _
|
||||||
|
System.SerializableAttribute()> _
|
||||||
|
Partial Public Class TableResult
|
||||||
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private TableField As System.Data.DataTable
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property Table() As System.Data.DataTable
|
||||||
|
Get
|
||||||
|
Return Me.TableField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Object.ReferenceEquals(Me.TableField, value) <> true) Then
|
||||||
|
Me.TableField = value
|
||||||
|
Me.RaisePropertyChanged("Table")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
End Class
|
||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="ScalarResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="ScalarResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
||||||
""), _
|
""), _
|
||||||
System.SerializableAttribute(), _
|
System.SerializableAttribute(), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetClientConfigResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
|
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResponse)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ConfigClientConfiguration)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DataTableDoesNotExistFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DataTableDoesNotExistFault)), _
|
||||||
@ -126,6 +155,8 @@ Namespace EDMIServiceReference
|
|||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseName)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseName)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueRequest)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueRequest)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueResponse)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ExecuteNonQueryRequest)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ExecuteNonQueryResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileRequest)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileRequest)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileProperties)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileProperties)), _
|
||||||
@ -201,13 +232,15 @@ Namespace EDMIServiceReference
|
|||||||
System.Runtime.Serialization.DataContractAttribute(Name:="GetScalarValueResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="GetScalarValueResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"Database.GetScalarValue"), _
|
"Database.GetScalarValue"), _
|
||||||
System.SerializableAttribute(), _
|
System.SerializableAttribute(), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetClientConfigResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
|
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResponse)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ScalarResult)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ScalarResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.Exception)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ConfigClientConfiguration)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(String())), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseFault)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DataTableDoesNotExistFault)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DataTableDoesNotExistFault)), _
|
||||||
@ -217,6 +250,8 @@ Namespace EDMIServiceReference
|
|||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseType)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseType)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseName)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.DatabaseName)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueRequest)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.GetScalarValueRequest)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ExecuteNonQueryRequest)), _
|
||||||
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ExecuteNonQueryResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileRequest)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileRequest)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NewFileResponse)), _
|
||||||
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileProperties)), _
|
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.FileProperties)), _
|
||||||
@ -253,10 +288,35 @@ Namespace EDMIServiceReference
|
|||||||
End Property
|
End Property
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute(Name:="ExecuteNonQueryResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
|
"Database.ExecuteNonQuery"), _
|
||||||
|
System.SerializableAttribute()> _
|
||||||
|
Partial Public Class ExecuteNonQueryResponse
|
||||||
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private ResultField As Boolean
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property Result() As Boolean
|
||||||
|
Get
|
||||||
|
Return Me.ResultField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Me.ResultField.Equals(value) <> true) Then
|
||||||
|
Me.ResultField = value
|
||||||
|
Me.RaisePropertyChanged("Result")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
End Class
|
||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="NewFileResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="NewFileResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"NewFile"), _
|
"IDB.NewFile"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class NewFileResponse
|
Partial Public Class NewFileResponse
|
||||||
Inherits EDMIServiceReference.BaseResponse
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
@ -281,7 +341,7 @@ Namespace EDMIServiceReference
|
|||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="SetAttributeValueResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="SetAttributeValueResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"SetAttributeValue"), _
|
"IDB.SetAttributeValue"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class SetAttributeValueResponse
|
Partial Public Class SetAttributeValueResponse
|
||||||
Inherits EDMIServiceReference.BaseResponse
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
@ -331,7 +391,7 @@ Namespace EDMIServiceReference
|
|||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="GetFileObjectResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="GetFileObjectResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"GetFileObject"), _
|
"IDB.GetFileObject"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class GetFileObjectResponse
|
Partial Public Class GetFileObjectResponse
|
||||||
Inherits EDMIServiceReference.BaseResponse
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
@ -355,29 +415,76 @@ Namespace EDMIServiceReference
|
|||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="TableResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="GetClientConfigResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
""), _
|
"Base.GetClientConfig"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class TableResult
|
Partial Public Class GetClientConfigResponse
|
||||||
Inherits EDMIServiceReference.BaseResponse
|
Inherits EDMIServiceReference.BaseResponse
|
||||||
|
|
||||||
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
Private TableField As System.Data.DataTable
|
Private ClientConfigField As EDMIServiceReference.ConfigClientConfiguration
|
||||||
|
|
||||||
<System.Runtime.Serialization.DataMemberAttribute()> _
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
Public Property Table() As System.Data.DataTable
|
Public Property ClientConfig() As EDMIServiceReference.ConfigClientConfiguration
|
||||||
Get
|
Get
|
||||||
Return Me.TableField
|
Return Me.ClientConfigField
|
||||||
End Get
|
End Get
|
||||||
Set
|
Set
|
||||||
If (Object.ReferenceEquals(Me.TableField, value) <> true) Then
|
If (Object.ReferenceEquals(Me.ClientConfigField, value) <> true) Then
|
||||||
Me.TableField = value
|
Me.ClientConfigField = value
|
||||||
Me.RaisePropertyChanged("Table")
|
Me.RaisePropertyChanged("ClientConfig")
|
||||||
End If
|
End If
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute(Name:="Config.ClientConfiguration", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService"), _
|
||||||
|
System.SerializableAttribute()> _
|
||||||
|
Partial Public Class ConfigClientConfiguration
|
||||||
|
Inherits Object
|
||||||
|
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||||
|
|
||||||
|
<System.NonSerializedAttribute()> _
|
||||||
|
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private ForceDirectDatabaseAccessField As Boolean
|
||||||
|
|
||||||
|
<Global.System.ComponentModel.BrowsableAttribute(false)> _
|
||||||
|
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||||
|
Get
|
||||||
|
Return Me.extensionDataField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
Me.extensionDataField = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property ForceDirectDatabaseAccess() As Boolean
|
||||||
|
Get
|
||||||
|
Return Me.ForceDirectDatabaseAccessField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Me.ForceDirectDatabaseAccessField.Equals(value) <> true) Then
|
||||||
|
Me.ForceDirectDatabaseAccessField = value
|
||||||
|
Me.RaisePropertyChanged("ForceDirectDatabaseAccess")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||||
|
|
||||||
|
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||||
|
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||||
|
If (Not (propertyChanged) Is Nothing) Then
|
||||||
|
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="UnexpectedErrorFault", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Exceptio"& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="UnexpectedErrorFault", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Exceptio"& _
|
||||||
@ -710,10 +817,106 @@ Namespace EDMIServiceReference
|
|||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute(Name:="ExecuteNonQueryRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
|
"Database.ExecuteNonQuery"), _
|
||||||
|
System.SerializableAttribute()> _
|
||||||
|
Partial Public Class ExecuteNonQueryRequest
|
||||||
|
Inherits Object
|
||||||
|
Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
|
||||||
|
|
||||||
|
<System.NonSerializedAttribute()> _
|
||||||
|
Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private ConnectionIdField As Integer
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private DatabaseTypeField As EDMIServiceReference.DatabaseType
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private NamedDatabaseField As EDMIServiceReference.DatabaseName
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.OptionalFieldAttribute()> _
|
||||||
|
Private SqlCommandField As String
|
||||||
|
|
||||||
|
<Global.System.ComponentModel.BrowsableAttribute(false)> _
|
||||||
|
Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
|
||||||
|
Get
|
||||||
|
Return Me.extensionDataField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
Me.extensionDataField = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property ConnectionId() As Integer
|
||||||
|
Get
|
||||||
|
Return Me.ConnectionIdField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Me.ConnectionIdField.Equals(value) <> true) Then
|
||||||
|
Me.ConnectionIdField = value
|
||||||
|
Me.RaisePropertyChanged("ConnectionId")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property DatabaseType() As EDMIServiceReference.DatabaseType
|
||||||
|
Get
|
||||||
|
Return Me.DatabaseTypeField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Me.DatabaseTypeField.Equals(value) <> true) Then
|
||||||
|
Me.DatabaseTypeField = value
|
||||||
|
Me.RaisePropertyChanged("DatabaseType")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property NamedDatabase() As EDMIServiceReference.DatabaseName
|
||||||
|
Get
|
||||||
|
Return Me.NamedDatabaseField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Me.NamedDatabaseField.Equals(value) <> true) Then
|
||||||
|
Me.NamedDatabaseField = value
|
||||||
|
Me.RaisePropertyChanged("NamedDatabase")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute()> _
|
||||||
|
Public Property SqlCommand() As String
|
||||||
|
Get
|
||||||
|
Return Me.SqlCommandField
|
||||||
|
End Get
|
||||||
|
Set
|
||||||
|
If (Object.ReferenceEquals(Me.SqlCommandField, value) <> true) Then
|
||||||
|
Me.SqlCommandField = value
|
||||||
|
Me.RaisePropertyChanged("SqlCommand")
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
|
||||||
|
|
||||||
|
Protected Sub RaisePropertyChanged(ByVal propertyName As String)
|
||||||
|
Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent
|
||||||
|
If (Not (propertyChanged) Is Nothing) Then
|
||||||
|
propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="NewFileRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="NewFileRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"NewFile"), _
|
"IDB.NewFile"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class NewFileRequest
|
Partial Public Class NewFileRequest
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -824,7 +1027,8 @@ Namespace EDMIServiceReference
|
|||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="FileProperties", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods"), _
|
System.Runtime.Serialization.DataContractAttribute(Name:="FileProperties", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
|
"IDB"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class FileProperties
|
Partial Public Class FileProperties
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -967,7 +1171,8 @@ Namespace EDMIServiceReference
|
|||||||
|
|
||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="UserAttributeValue", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods"), _
|
System.Runtime.Serialization.DataContractAttribute(Name:="UserAttributeValue", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
|
"IDB"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class UserAttributeValue
|
Partial Public Class UserAttributeValue
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -1286,7 +1491,7 @@ Namespace EDMIServiceReference
|
|||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="SetAttributeValueRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="SetAttributeValueRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"SetAttributeValue"), _
|
"IDB.SetAttributeValue"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class SetAttributeValueRequest
|
Partial Public Class SetAttributeValueRequest
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -1542,7 +1747,7 @@ Namespace EDMIServiceReference
|
|||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="GetFileObjectRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="GetFileObjectRequest", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"GetFileObject"), _
|
"IDB.GetFileObject"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class GetFileObjectRequest
|
Partial Public Class GetFileObjectRequest
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -1606,7 +1811,7 @@ Namespace EDMIServiceReference
|
|||||||
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
|
||||||
System.Runtime.Serialization.DataContractAttribute(Name:="FileObject", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
System.Runtime.Serialization.DataContractAttribute(Name:="FileObject", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Methods."& _
|
||||||
"GetFileObject"), _
|
"IDB.GetFileObject"), _
|
||||||
System.SerializableAttribute()> _
|
System.SerializableAttribute()> _
|
||||||
Partial Public Class FileObject
|
Partial Public Class FileObject
|
||||||
Inherits Object
|
Inherits Object
|
||||||
@ -1749,6 +1954,12 @@ Namespace EDMIServiceReference
|
|||||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/Heartbeat", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/HeartbeatResponse")> _
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/Heartbeat", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/HeartbeatResponse")> _
|
||||||
Function HeartbeatAsync() As System.Threading.Tasks.Task(Of Boolean)
|
Function HeartbeatAsync() As System.Threading.Tasks.Task(Of Boolean)
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfig", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfigResponse")> _
|
||||||
|
Function GetClientConfig() As EDMIServiceReference.GetClientConfigResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfig", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfigResponse")> _
|
||||||
|
Function GetClientConfigAsync() As System.Threading.Tasks.Task(Of EDMIServiceReference.GetClientConfigResponse)
|
||||||
|
|
||||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTablesResponse")> _
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTablesResponse")> _
|
||||||
Function GetCachedTables() As String()
|
Function GetCachedTables() As String()
|
||||||
|
|
||||||
@ -1781,6 +1992,12 @@ Namespace EDMIServiceReference
|
|||||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValue", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValueResponse")> _
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValue", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalarValueResponse")> _
|
||||||
Function ReturnScalarValueAsync(ByVal pData As EDMIServiceReference.GetScalarValueRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.GetScalarValueResponse)
|
Function ReturnScalarValueAsync(ByVal pData As EDMIServiceReference.GetScalarValueRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.GetScalarValueResponse)
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQueryResponse")> _
|
||||||
|
Function ExecuteNonQuery(ByVal pData As EDMIServiceReference.ExecuteNonQueryRequest) As EDMIServiceReference.ExecuteNonQueryResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQueryResponse")> _
|
||||||
|
Function ExecuteNonQueryAsync(ByVal pData As EDMIServiceReference.ExecuteNonQueryRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ExecuteNonQueryResponse)
|
||||||
|
|
||||||
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp"& _
|
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp"& _
|
||||||
"onse"), _
|
"onse"), _
|
||||||
System.ServiceModel.FaultContractAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault), Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdUnex"& _
|
System.ServiceModel.FaultContractAttribute(GetType(EDMIServiceReference.UnexpectedErrorFault), Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdUnex"& _
|
||||||
@ -2149,6 +2366,14 @@ Namespace EDMIServiceReference
|
|||||||
Return MyBase.Channel.HeartbeatAsync
|
Return MyBase.Channel.HeartbeatAsync
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function GetClientConfig() As EDMIServiceReference.GetClientConfigResponse Implements EDMIServiceReference.IEDMIService.GetClientConfig
|
||||||
|
Return MyBase.Channel.GetClientConfig
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetClientConfigAsync() As System.Threading.Tasks.Task(Of EDMIServiceReference.GetClientConfigResponse) Implements EDMIServiceReference.IEDMIService.GetClientConfigAsync
|
||||||
|
Return MyBase.Channel.GetClientConfigAsync
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function GetCachedTables() As String() Implements EDMIServiceReference.IEDMIService.GetCachedTables
|
Public Function GetCachedTables() As String() Implements EDMIServiceReference.IEDMIService.GetCachedTables
|
||||||
Return MyBase.Channel.GetCachedTables
|
Return MyBase.Channel.GetCachedTables
|
||||||
End Function
|
End Function
|
||||||
@ -2181,6 +2406,14 @@ Namespace EDMIServiceReference
|
|||||||
Return MyBase.Channel.ReturnScalarValueAsync(pData)
|
Return MyBase.Channel.ReturnScalarValueAsync(pData)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQuery(ByVal pData As EDMIServiceReference.ExecuteNonQueryRequest) As EDMIServiceReference.ExecuteNonQueryResponse Implements EDMIServiceReference.IEDMIService.ExecuteNonQuery
|
||||||
|
Return MyBase.Channel.ExecuteNonQuery(pData)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQueryAsync(ByVal pData As EDMIServiceReference.ExecuteNonQueryRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.ExecuteNonQueryResponse) Implements EDMIServiceReference.IEDMIService.ExecuteNonQueryAsync
|
||||||
|
Return MyBase.Channel.ExecuteNonQueryAsync(pData)
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function ReturnDatatable_Firebird(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_Firebird
|
Public Function ReturnDatatable_Firebird(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_Firebird
|
||||||
Return MyBase.Channel.ReturnDatatable_Firebird(SQL)
|
Return MyBase.Channel.ReturnDatatable_Firebird(SQL)
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@ -50,6 +50,15 @@
|
|||||||
<soap12:body use="literal" />
|
<soap12:body use="literal" />
|
||||||
</wsdl:output>
|
</wsdl:output>
|
||||||
</wsdl:operation>
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="GetClientConfig">
|
||||||
|
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetClientConfig" style="document" />
|
||||||
|
<wsdl:input>
|
||||||
|
<soap12:body use="literal" />
|
||||||
|
</wsdl:input>
|
||||||
|
<wsdl:output>
|
||||||
|
<soap12:body use="literal" />
|
||||||
|
</wsdl:output>
|
||||||
|
</wsdl:operation>
|
||||||
<wsdl:operation name="GetCachedTables">
|
<wsdl:operation name="GetCachedTables">
|
||||||
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables" style="document" />
|
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetCachedTables" style="document" />
|
||||||
<wsdl:input>
|
<wsdl:input>
|
||||||
@ -92,6 +101,15 @@
|
|||||||
<soap12:body use="literal" />
|
<soap12:body use="literal" />
|
||||||
</wsdl:output>
|
</wsdl:output>
|
||||||
</wsdl:operation>
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="ExecuteNonQuery">
|
||||||
|
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery" style="document" />
|
||||||
|
<wsdl:input>
|
||||||
|
<soap12:body use="literal" />
|
||||||
|
</wsdl:input>
|
||||||
|
<wsdl:output>
|
||||||
|
<soap12:body use="literal" />
|
||||||
|
</wsdl:output>
|
||||||
|
</wsdl:operation>
|
||||||
<wsdl:operation name="ReturnDatatable_Firebird">
|
<wsdl:operation name="ReturnDatatable_Firebird">
|
||||||
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird" style="document" />
|
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird" style="document" />
|
||||||
<wsdl:input>
|
<wsdl:input>
|
||||||
|
|||||||
@ -8,7 +8,8 @@ Imports DigitalData.Modules.Language.Utils
|
|||||||
Public Class DatabaseWithFallback
|
Public Class DatabaseWithFallback
|
||||||
Private ReadOnly _Logger As Logger
|
Private ReadOnly _Logger As Logger
|
||||||
Private ReadOnly _Client As Client
|
Private ReadOnly _Client As Client
|
||||||
Private ReadOnly _DatabaseEDM As MSSQLServer
|
Private ReadOnly _ClientConfig As ConfigClientConfiguration
|
||||||
|
Private ReadOnly _DatabaseECM As MSSQLServer
|
||||||
Private ReadOnly _DatabaseIDB As MSSQLServer
|
Private ReadOnly _DatabaseIDB As MSSQLServer
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@ -49,8 +50,11 @@ Public Class DatabaseWithFallback
|
|||||||
Public Sub New(LogConfig As LogConfig, Client As Client, DatabaseECM As MSSQLServer, DatabaseIDB As MSSQLServer)
|
Public Sub New(LogConfig As LogConfig, Client As Client, DatabaseECM As MSSQLServer, DatabaseIDB As MSSQLServer)
|
||||||
_Logger = LogConfig.GetLogger()
|
_Logger = LogConfig.GetLogger()
|
||||||
_Client = Client
|
_Client = Client
|
||||||
_DatabaseEDM = DatabaseECM
|
_DatabaseECM = DatabaseECM
|
||||||
_DatabaseIDB = DatabaseIDB
|
_DatabaseIDB = DatabaseIDB
|
||||||
|
|
||||||
|
' Load client config, will throw if client is not yet connected to service
|
||||||
|
_ClientConfig = Client.TryGetClientConfig()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function GetDatatableECM(pSQL As String, Optional pConnectionId As Integer = 0) As DataTable
|
Public Function GetDatatableECM(pSQL As String, Optional pConnectionId As Integer = 0) As DataTable
|
||||||
@ -73,6 +77,14 @@ Public Class DatabaseWithFallback
|
|||||||
Return GetScalarValue(pSQL, Constants.DatabaseType.IDB, pForceFallback:=False, pConnectionId)
|
Return GetScalarValue(pSQL, Constants.DatabaseType.IDB, pForceFallback:=False, pConnectionId)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQueryECM(pSQL As String, Optional pConnectionId As Integer = 0) As Boolean
|
||||||
|
Return ExecuteNonQuery(pSQL, Constants.DatabaseType.ECM, pForceFallback:=False, pConnectionId)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQueryIDB(pSQL As String, Optional pConnectionId As Integer = 0) As Boolean
|
||||||
|
Return ExecuteNonQuery(pSQL, Constants.DatabaseType.IDB, pForceFallback:=False, pConnectionId)
|
||||||
|
End Function
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Returns a Datatable by trying to fetch a cached version from the service, then querying the database through the service and querying the database directly as fallback.
|
''' Returns a Datatable by trying to fetch a cached version from the service, then querying the database through the service and querying the database directly as fallback.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
@ -112,7 +124,7 @@ Public Class DatabaseWithFallback
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
' If ForceFallback flag is set, we go to database immediately
|
' If ForceFallback flag is set, we go to database immediately
|
||||||
If pForceFallback Then
|
If pForceFallback Or _ClientConfig.ForceDirectDatabaseAccess Then
|
||||||
Return GetDatatableFromDatabase(pFallbackSQL, pFallbackType, pConnectionId)
|
Return GetDatatableFromDatabase(pFallbackSQL, pFallbackType, pConnectionId)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -165,7 +177,7 @@ Public Class DatabaseWithFallback
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
' If ForceFallback flag is set, we go to database immediately
|
' If ForceFallback flag is set, we go to database immediately
|
||||||
If pForceFallback Then
|
If pForceFallback Or _ClientConfig.ForceDirectDatabaseAccess Then
|
||||||
Return GetScalarValueFromDatabase(pSQL, pDatabaseType, pConnectionId)
|
Return GetScalarValueFromDatabase(pSQL, pDatabaseType, pConnectionId)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -178,6 +190,37 @@ Public Class DatabaseWithFallback
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a Scalar Value by querying the database through the service and querying the database directly as fallback.
|
||||||
|
''' </summary>
|
||||||
|
''' <param name="pSQL">SQL Command to execute as fallback</param>
|
||||||
|
''' <param name="pDatabaseType">Named Database to use for the fallback SQL Command</param>
|
||||||
|
''' <param name="pForceFallback">Force the fallback, skipping the service completely</param>
|
||||||
|
''' <param name="pConnectionId">Connection Id to use, references TBDD_CONNECTION</param>
|
||||||
|
Public Function ExecuteNonQuery(pSQL As String, pDatabaseType As Constants.DatabaseType, Optional pForceFallback As Boolean = False, Optional pConnectionId As Integer = 0) As Boolean
|
||||||
|
Try
|
||||||
|
Dim oResult As DataTable = Nothing
|
||||||
|
Dim oTableResult As TableResult = Nothing
|
||||||
|
|
||||||
|
' If there is no client, we assume there is no service (configured)
|
||||||
|
If _Client Is Nothing Then
|
||||||
|
Return ExecuteNonQueryFromDatabase(pSQL, pDatabaseType, pConnectionId)
|
||||||
|
End If
|
||||||
|
|
||||||
|
' If ForceFallback flag is set, we go to database immediately
|
||||||
|
If pForceFallback Or _ClientConfig.ForceDirectDatabaseAccess Then
|
||||||
|
Return ExecuteNonQueryFromDatabase(pSQL, pDatabaseType, pConnectionId)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return ExecuteNonQueryFromService(pSQL, pDatabaseType, pConnectionId)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
_Logger.Error(ex)
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Function IsTableCached(pName As String) As Boolean
|
Private Function IsTableCached(pName As String) As Boolean
|
||||||
If _Client Is Nothing Then
|
If _Client Is Nothing Then
|
||||||
Return False
|
Return False
|
||||||
@ -186,19 +229,32 @@ Public Class DatabaseWithFallback
|
|||||||
Return _Client.CachedTables.Contains(pName.ToUpper)
|
Return _Client.CachedTables.Contains(pName.ToUpper)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetDatatableFromService(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer)
|
Private Function GetDatatableFromService(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As DataTable
|
||||||
Try
|
Try
|
||||||
|
Dim oResult As GetDatatableResponse = Nothing
|
||||||
|
|
||||||
Select Case DatabaseType
|
Select Case DatabaseType
|
||||||
Case Constants.DatabaseType.ECM
|
Case Constants.DatabaseType.ECM
|
||||||
Return _Client.GetDatatableFromECM(pSQLCommand, pConnectionId)
|
oResult = _Client.GetDatatableFromECM(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
Case Constants.DatabaseType.IDB
|
Case Constants.DatabaseType.IDB
|
||||||
Return _Client.GetDatatableFromIDB(pSQLCommand, pConnectionId)
|
oResult = _Client.GetDatatableFromIDB(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
Return Nothing
|
Return GetDatatableFromDatabase(pSQLCommand, DatabaseType, pConnectionId)
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
If oResult Is Nothing Then
|
||||||
|
Throw New ApplicationException("Unexpected server error ocurred!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
If oResult.OK = False Then
|
||||||
|
Throw New ApplicationException(oResult.ErrorMessage)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oResult.Table
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Warn("GetDatatableFromService failed. Falling back to direct database access.")
|
_Logger.Warn("GetDatatableFromService failed. Falling back to direct database access.")
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
@ -207,19 +263,53 @@ Public Class DatabaseWithFallback
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetScalarValueFromService(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer)
|
|
||||||
|
Private Function GetDatatableFromDatabase(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As DataTable
|
||||||
Try
|
Try
|
||||||
|
Dim oResult As ExecuteNonQueryResponse = Nothing
|
||||||
|
|
||||||
Select Case DatabaseType
|
Select Case DatabaseType
|
||||||
Case Constants.DatabaseType.ECM
|
Case Constants.DatabaseType.ECM
|
||||||
Return _Client.GetScalarValueFromECM(pSQLCommand, pConnectionId)
|
Return _DatabaseECM.GetDatatable(pSQLCommand)
|
||||||
|
|
||||||
Case Constants.DatabaseType.IDB
|
Case Constants.DatabaseType.IDB
|
||||||
Return _Client.GetScalarValueFromIDB(pSQLCommand, pConnectionId)
|
Return _DatabaseIDB.GetDatatable(pSQLCommand)
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
Return Nothing
|
Dim oConnectionString = _DatabaseECM.Get_ConnectionStringforID(pConnectionId)
|
||||||
|
Return _DatabaseECM.GetDatatableWithConnection(pSQLCommand, oConnectionString)
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
Catch ex As Exception
|
||||||
|
_Logger.Error(ex)
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetScalarValueFromService(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As Object
|
||||||
|
Try
|
||||||
|
Dim oResult As GetScalarValueResponse = Nothing
|
||||||
|
|
||||||
|
Select Case DatabaseType
|
||||||
|
Case Constants.DatabaseType.ECM
|
||||||
|
oResult = _Client.GetScalarValueFromECM(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
|
Case Constants.DatabaseType.IDB
|
||||||
|
oResult = _Client.GetScalarValueFromIDB(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If oResult Is Nothing Then
|
||||||
|
Throw New ApplicationException("Unexpected server error ocurred!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
If oResult.OK = False Then
|
||||||
|
Throw New ApplicationException(oResult.ErrorMessage)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oResult.Scalar
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_Logger.Warn("GetScalarValueFromService failed. Falling back to direct database access.")
|
_Logger.Warn("GetScalarValueFromService failed. Falling back to direct database access.")
|
||||||
_Logger.Error(ex)
|
_Logger.Error(ex)
|
||||||
@ -228,37 +318,19 @@ Public Class DatabaseWithFallback
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetDatatableFromDatabase(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer)
|
|
||||||
|
Private Function GetScalarValueFromDatabase(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As Object
|
||||||
Try
|
Try
|
||||||
Select Case DatabaseType
|
Select Case DatabaseType
|
||||||
Case Constants.DatabaseType.ECM
|
Case Constants.DatabaseType.ECM
|
||||||
Return _DatabaseEDM.GetDatatable(pSQLCommand)
|
Return _DatabaseECM.GetScalarValue(pSQLCommand)
|
||||||
|
|
||||||
Case Constants.DatabaseType.IDB
|
|
||||||
Return _DatabaseIDB.GetDatatable(pSQLCommand)
|
|
||||||
|
|
||||||
Case Else
|
|
||||||
Return Nothing
|
|
||||||
|
|
||||||
End Select
|
|
||||||
Catch ex As Exception
|
|
||||||
_Logger.Error(ex)
|
|
||||||
Return Nothing
|
|
||||||
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function GetScalarValueFromDatabase(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer)
|
|
||||||
Try
|
|
||||||
Select Case DatabaseType
|
|
||||||
Case Constants.DatabaseType.ECM
|
|
||||||
Return _DatabaseEDM.GetScalarValue(pSQLCommand)
|
|
||||||
|
|
||||||
Case Constants.DatabaseType.IDB
|
Case Constants.DatabaseType.IDB
|
||||||
Return _DatabaseIDB.GetScalarValue(pSQLCommand)
|
Return _DatabaseIDB.GetScalarValue(pSQLCommand)
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
Return Nothing
|
Dim oConnectionString = _DatabaseECM.Get_ConnectionStringforID(pConnectionId)
|
||||||
|
Return _DatabaseECM.GetScalarValueWithConnection(pSQLCommand, oConnectionString)
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@ -267,5 +339,57 @@ Public Class DatabaseWithFallback
|
|||||||
|
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Function ExecuteNonQueryFromService(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As Boolean
|
||||||
|
Try
|
||||||
|
Dim oResult As ExecuteNonQueryResponse = Nothing
|
||||||
|
|
||||||
|
Select Case DatabaseType
|
||||||
|
Case Constants.DatabaseType.ECM
|
||||||
|
oResult = _Client.ExecuteNonQueryFromECM(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
|
Case Constants.DatabaseType.IDB
|
||||||
|
oResult = _Client.ExecuteNonQueryFromIDB(pSQLCommand, pConnectionId)
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If oResult Is Nothing Then
|
||||||
|
Throw New ApplicationException("Unexpected server error ocurred!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
If oResult.OK = False Then
|
||||||
|
Throw New ApplicationException(oResult.ErrorMessage)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oResult.Result
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
_Logger.Warn("ExecuteNonQueryFromService failed. Falling back to direct database access.")
|
||||||
|
_Logger.Error(ex)
|
||||||
|
Return ExecuteNonQueryFromDatabase(pSQLCommand, DatabaseType, pConnectionId)
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function ExecuteNonQueryFromDatabase(pSQLCommand As String, DatabaseType As Constants.DatabaseType, pConnectionId As Integer) As Boolean
|
||||||
|
Try
|
||||||
|
Select Case DatabaseType
|
||||||
|
Case Constants.DatabaseType.ECM
|
||||||
|
Return _DatabaseECM.ExecuteNonQuery(pSQLCommand)
|
||||||
|
|
||||||
|
Case Constants.DatabaseType.IDB
|
||||||
|
Return _DatabaseIDB.ExecuteNonQuery(pSQLCommand)
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
Dim oConnectionString = _DatabaseECM.Get_ConnectionStringforID(pConnectionId)
|
||||||
|
Return _DatabaseECM.ExecuteNonQueryWithConnection(pSQLCommand, oConnectionString)
|
||||||
|
|
||||||
|
End Select
|
||||||
|
Catch ex As Exception
|
||||||
|
_Logger.Error(ex)
|
||||||
|
Return False
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|||||||
@ -125,6 +125,12 @@
|
|||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentStreamResponse.datasource">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentStreamResponse.datasource">
|
||||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.ExecuteNonQueryResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.GetClientConfigResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.GetDatatableResponse.datasource">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.GetDatatableResponse.datasource">
|
||||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
</None>
|
</None>
|
||||||
@ -170,6 +176,12 @@
|
|||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Messages.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Messages.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Base.GetClientConfig.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Database.ExecuteNonQuery.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Database.GetDatatable.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Database.GetDatatable.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
@ -179,25 +191,28 @@
|
|||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Database.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.Database.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.GetFileObject.xsd">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</None>
|
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.NewFile.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.IDB.GetFileObject.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.SetAttributeValue.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.IDB.NewFile.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.IDB.SetAttributeValue.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.Methods.IDB.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.wsdl" />
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.wsdl" />
|
||||||
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.xsd">
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Connected Services\EDMIServiceReference\DigitalData.Services.EDMIService1.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
<None Include="Connected Services\EDMIServiceReference\Message.xsd">
|
<None Include="Connected Services\EDMIServiceReference\Message.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
|
|||||||
@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
|
|||||||
<Assembly: AssemblyDescription("")>
|
<Assembly: AssemblyDescription("")>
|
||||||
<Assembly: AssemblyCompany("Digital Data")>
|
<Assembly: AssemblyCompany("Digital Data")>
|
||||||
<Assembly: AssemblyProduct("EDMIAPI")>
|
<Assembly: AssemblyProduct("EDMIAPI")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2021")>
|
<Assembly: AssemblyCopyright("Copyright © 2022")>
|
||||||
<Assembly: AssemblyTrademark("1.3.4.0")>
|
<Assembly: AssemblyTrademark("1.4.0.0")>
|
||||||
|
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.3.4.0")>
|
<Assembly: AssemblyVersion("1.4.0.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.3.4.0")>
|
<Assembly: AssemblyFileVersion("1.4.0.0")>
|
||||||
|
|||||||
@ -13,6 +13,7 @@ Public MustInherit Class BaseMethod
|
|||||||
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
||||||
MyBase.New(pLogConfig)
|
MyBase.New(pLogConfig)
|
||||||
DatabaseIDB = pDatabaseIDB
|
DatabaseIDB = pDatabaseIDB
|
||||||
|
DatabaseECM = pDatabaseECM
|
||||||
Helpers = New Helpers(pLogConfig, pDatabaseIDB)
|
Helpers = New Helpers(pLogConfig, pDatabaseIDB)
|
||||||
GlobalState = pGlobalState
|
GlobalState = pGlobalState
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@ -22,4 +22,10 @@ Public Class Config
|
|||||||
Public Property ContainerPassword As String = String.Empty
|
Public Property ContainerPassword As String = String.Empty
|
||||||
|
|
||||||
Public Property Debug As Boolean = False
|
Public Property Debug As Boolean = False
|
||||||
|
|
||||||
|
Public Property ClientConfig As New ClientConfiguration
|
||||||
|
|
||||||
|
Public Class ClientConfiguration
|
||||||
|
Public Property ForceDirectDatabaseAccess As Boolean = False
|
||||||
|
End Class
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -12,6 +12,7 @@ Imports DigitalData.Services.EDMIService.Exceptions
|
|||||||
Imports DigitalData.Services.EDMIService.Methods
|
Imports DigitalData.Services.EDMIService.Methods
|
||||||
Imports DigitalData.Services.EDMIService.Methods.SetAttributeValue
|
Imports DigitalData.Services.EDMIService.Methods.SetAttributeValue
|
||||||
Imports DigitalData.Services.EDMIService.Methods.Database
|
Imports DigitalData.Services.EDMIService.Methods.Database
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession)>
|
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession)>
|
||||||
Public Class EDMIService
|
Public Class EDMIService
|
||||||
@ -54,21 +55,34 @@ Public Class EDMIService
|
|||||||
Dim oUsername = StripDomainFromUsername(oOperationContext.ServiceSecurityContext.WindowsIdentity.Name)
|
Dim oUsername = StripDomainFromUsername(oOperationContext.ServiceSecurityContext.WindowsIdentity.Name)
|
||||||
|
|
||||||
_Username = oUsername
|
_Username = oUsername
|
||||||
|
|
||||||
_Logger = LogConfig.GetLogger()
|
_Logger = LogConfig.GetLogger()
|
||||||
_Logger.Debug("New Request by User [{0}]", _Username)
|
_Logger.Debug("New Request by User [{0}]", _Username)
|
||||||
|
|
||||||
_IDBHelpers = New IDB.Helpers(LogConfig, MSSQL_IDB)
|
_IDBHelpers = New IDB.Helpers(LogConfig, MSSQL_IDB)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
#Region "=== Base ==="
|
||||||
|
Public Function Heartbeat() As Boolean Implements IEDMIService.Heartbeat
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetClientConfig() As Base.GetClientConfig.GetClientConfigResponse Implements IEDMIService.GetClientConfig
|
||||||
|
_Logger.Debug("Start of Method [GetClientConfig]")
|
||||||
|
Dim oGetClientConfig As New Base.GetClientConfig.GetClientConfigMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
||||||
|
Return oGetClientConfig.Run()
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
|
|
||||||
Public Function NewFile(Data As NewFile.NewFileRequest) As NewFile.NewFileResponse Implements IEDMIService.NewFile
|
Public Function NewFile(Data As NewFile.NewFileRequest) As NewFile.NewFileResponse Implements IEDMIService.NewFile
|
||||||
_Logger.Debug("Start of Method [NewFile]")
|
_Logger.Debug("Start of Method [NewFile]")
|
||||||
Dim oNewFile As New NewFileMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
Dim oNewFile As New NewFile.NewFileMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
||||||
Return oNewFile.Run(Data)
|
Return oNewFile.Run(Data)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function SetAttributeValue(Data As SetAttributeValue.SetAttributeValueRequest) As SetAttributeValue.SetAttributeValueResponse Implements IEDMIService.SetAttributeValue
|
Public Function SetAttributeValue(Data As SetAttributeValue.SetAttributeValueRequest) As SetAttributeValue.SetAttributeValueResponse Implements IEDMIService.SetAttributeValue
|
||||||
_Logger.Debug("Start of Method [SetAttributeValue]")
|
_Logger.Debug("Start of Method [SetAttributeValue]")
|
||||||
Dim oSetAttributeValue As New SetAttributeValueMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
Dim oSetAttributeValue As New SetAttributeValue.SetAttributeValueMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
||||||
Return oSetAttributeValue.Run(Data)
|
Return oSetAttributeValue.Run(Data)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@ -84,11 +98,6 @@ Public Class EDMIService
|
|||||||
Return oGetFileObject.Run(pData)
|
Return oGetFileObject.Run(pData)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
#Region "=== Heartbeat ==="
|
|
||||||
Public Function Heartbeat() As Boolean Implements IEDMIService.Heartbeat
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
#Region "=== Database ==="
|
#Region "=== Database ==="
|
||||||
Public Function GetCachedTables() As List(Of String) Implements IEDMIService.GetCachedTables
|
Public Function GetCachedTables() As List(Of String) Implements IEDMIService.GetCachedTables
|
||||||
@ -126,6 +135,12 @@ Public Class EDMIService
|
|||||||
Dim oGetScalarValue As New GetScalarValue.GetScalarValueMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
Dim oGetScalarValue As New GetScalarValue.GetScalarValueMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
||||||
Return oGetScalarValue.Run(pData)
|
Return oGetScalarValue.Run(pData)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function ExecuteNonQuery(pData As ExecuteNonQuery.ExecuteNonQueryRequest) As ExecuteNonQuery.ExecuteNonQueryResponse Implements IEDMIService.ExecuteNonQuery
|
||||||
|
_Logger.Debug("Start of Method [ExecuteNonQuery]")
|
||||||
|
Dim oExecuteNonQuery As New ExecuteNonQuery.ExecuteNonQueryMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState)
|
||||||
|
Return oExecuteNonQuery.Run(pData)
|
||||||
|
End Function
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region "=== Database (MSSQL IDB) ==="
|
#Region "=== Database (MSSQL IDB) ==="
|
||||||
|
|||||||
@ -131,25 +131,30 @@
|
|||||||
<Compile Include="BaseMethod.vb" />
|
<Compile Include="BaseMethod.vb" />
|
||||||
<Compile Include="ClassConstants.vb" />
|
<Compile Include="ClassConstants.vb" />
|
||||||
<Compile Include="Config.vb" />
|
<Compile Include="Config.vb" />
|
||||||
|
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigMethod.vb" />
|
||||||
|
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigResponse.vb" />
|
||||||
<Compile Include="Methods\Database\DatabaseName.vb" />
|
<Compile Include="Methods\Database\DatabaseName.vb" />
|
||||||
<Compile Include="Methods\Database\DatabaseType.vb" />
|
<Compile Include="Methods\Database\DatabaseType.vb" />
|
||||||
|
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryMethod.vb" />
|
||||||
|
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryRequest.vb" />
|
||||||
|
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryResponse.vb" />
|
||||||
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueMethod.vb" />
|
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueMethod.vb" />
|
||||||
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueRequest.vb" />
|
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueRequest.vb" />
|
||||||
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueResponse.vb" />
|
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueResponse.vb" />
|
||||||
<Compile Include="Methods\Database\GetDatatable\GetDatatableMethod.vb" />
|
<Compile Include="Methods\Database\GetDatatable\GetDatatableMethod.vb" />
|
||||||
<Compile Include="Methods\Database\GetDatatable\GetDatatableRequest.vb" />
|
<Compile Include="Methods\Database\GetDatatable\GetDatatableRequest.vb" />
|
||||||
<Compile Include="Methods\Database\GetDatatable\GetDatatableResponse.vb" />
|
<Compile Include="Methods\Database\GetDatatable\GetDatatableResponse.vb" />
|
||||||
<Compile Include="Methods\FileProperties.vb" />
|
<Compile Include="Methods\IDB\FileProperties.vb" />
|
||||||
<Compile Include="Methods\GetAttributeValue\GetAttributeValueMethod.vb" />
|
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueMethod.vb" />
|
||||||
<Compile Include="Methods\GetAttributeValue\GetAttributeValueRequest.vb" />
|
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueRequest.vb" />
|
||||||
<Compile Include="Methods\GetAttributeValue\GetAttributeValueResponse.vb" />
|
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueResponse.vb" />
|
||||||
<Compile Include="Methods\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" />
|
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" />
|
||||||
<Compile Include="Methods\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" />
|
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" />
|
||||||
<Compile Include="Methods\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" />
|
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" />
|
||||||
<Compile Include="Methods\GetFileObject\FileObject.vb" />
|
<Compile Include="Methods\IDB\GetFileObject\FileObject.vb" />
|
||||||
<Compile Include="Methods\GetFileObject\GetFileObjectRequest.vb" />
|
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectRequest.vb" />
|
||||||
<Compile Include="Methods\GetFileObject\GetFileObjectResponse.vb" />
|
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectResponse.vb" />
|
||||||
<Compile Include="Methods\GetFileObject\GetFileObjectMethod.vb" />
|
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectMethod.vb" />
|
||||||
<Compile Include="Methods\GlobalIndexer\AutomaticIndex.vb" />
|
<Compile Include="Methods\GlobalIndexer\AutomaticIndex.vb" />
|
||||||
<Compile Include="Methods\GlobalIndexer\BaseIndex.vb" />
|
<Compile Include="Methods\GlobalIndexer\BaseIndex.vb" />
|
||||||
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\AutomaticIndexing.vb" />
|
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\AutomaticIndexing.vb" />
|
||||||
@ -161,12 +166,12 @@
|
|||||||
<Compile Include="Methods\GlobalIndexer\ManualIndex.vb" />
|
<Compile Include="Methods\GlobalIndexer\ManualIndex.vb" />
|
||||||
<Compile Include="Methods\GlobalIndexer\PostProcessingStep.vb" />
|
<Compile Include="Methods\GlobalIndexer\PostProcessingStep.vb" />
|
||||||
<Compile Include="Methods\GlobalIndexer\Profile.vb" />
|
<Compile Include="Methods\GlobalIndexer\Profile.vb" />
|
||||||
<Compile Include="Methods\NewFile\NewFileMethod.vb" />
|
<Compile Include="Methods\IDB\NewFile\NewFileMethod.vb" />
|
||||||
<Compile Include="Methods\NewFile\NewFileRequest.vb" />
|
<Compile Include="Methods\IDB\NewFile\NewFileRequest.vb" />
|
||||||
<Compile Include="Methods\NewFile\NewFileResponse.vb" />
|
<Compile Include="Methods\IDB\NewFile\NewFileResponse.vb" />
|
||||||
<Compile Include="Methods\SetAttributeValue\SetAttributeValueMethod.vb" />
|
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueMethod.vb" />
|
||||||
<Compile Include="Methods\SetAttributeValue\SetAttributeValueResponse.vb" />
|
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueResponse.vb" />
|
||||||
<Compile Include="Methods\SetAttributeValue\SetAttributeValueRequest.vb" />
|
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueRequest.vb" />
|
||||||
<Compile Include="GlobalState.vb" />
|
<Compile Include="GlobalState.vb" />
|
||||||
<Compile Include="IDB\Helpers.vb" />
|
<Compile Include="IDB\Helpers.vb" />
|
||||||
<Compile Include="Messages\AccessRightResult.vb" />
|
<Compile Include="Messages\AccessRightResult.vb" />
|
||||||
@ -175,7 +180,7 @@
|
|||||||
<Compile Include="Exceptions.vb" />
|
<Compile Include="Exceptions.vb" />
|
||||||
<Compile Include="Messages\DatabaseResult.vb" />
|
<Compile Include="Messages\DatabaseResult.vb" />
|
||||||
<Compile Include="EDMIService.vb" />
|
<Compile Include="EDMIService.vb" />
|
||||||
<Compile Include="Methods\AttributeValue.vb" />
|
<Compile Include="Methods\IDB\AttributeValue.vb" />
|
||||||
<Compile Include="Scheduler\Scheduler.vb" />
|
<Compile Include="Scheduler\Scheduler.vb" />
|
||||||
<Compile Include="Scheduler\DatatableJob.vb" />
|
<Compile Include="Scheduler\DatatableJob.vb" />
|
||||||
<Compile Include="Scheduler\JobListener.vb" />
|
<Compile Include="Scheduler\JobListener.vb" />
|
||||||
|
|||||||
@ -11,6 +11,7 @@ Public Class GlobalState
|
|||||||
|
|
||||||
Public Property ObjectStores As New List(Of ObjectStore)
|
Public Property ObjectStores As New List(Of ObjectStore)
|
||||||
Public Property Connections As New List(Of DatabaseConnection)
|
Public Property Connections As New List(Of DatabaseConnection)
|
||||||
|
Public Property ClientConfig As New Config.ClientConfiguration
|
||||||
|
|
||||||
Public Property TableStore As New DataSet
|
Public Property TableStore As New DataSet
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ Imports System.Data.SqlClient
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports DigitalData.Modules.ZooFlow.State
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
Imports DigitalData.Modules.Patterns
|
Imports DigitalData.Modules.Patterns
|
||||||
Imports DigitalData.Services.EDMIService.Methods
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
Namespace IDB
|
Namespace IDB
|
||||||
Public Class Helpers
|
Public Class Helpers
|
||||||
|
|||||||
@ -5,13 +5,17 @@ Imports DigitalData.Services.EDMIService.Exceptions
|
|||||||
Imports DigitalData.Services.EDMIService.Messages
|
Imports DigitalData.Services.EDMIService.Messages
|
||||||
Imports DigitalData.Services.EDMIService.Methods
|
Imports DigitalData.Services.EDMIService.Methods
|
||||||
Imports DigitalData.Services.EDMIService.Methods.Database
|
Imports DigitalData.Services.EDMIService.Methods.Database
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
<ServiceContract(Name:="IEDMIService", [Namespace]:="http://DigitalData.Services.EDMIService")>
|
<ServiceContract(Name:="IEDMIService", [Namespace]:="http://DigitalData.Services.EDMIService")>
|
||||||
Interface IEDMIService
|
Interface IEDMIService
|
||||||
|
|
||||||
#Region "Heartbeat"
|
#Region "Base"
|
||||||
<OperationContract>
|
<OperationContract>
|
||||||
Function Heartbeat() As Boolean
|
Function Heartbeat() As Boolean
|
||||||
|
|
||||||
|
<OperationContract>
|
||||||
|
Function GetClientConfig() As Base.GetClientConfig.GetClientConfigResponse
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region "Database"
|
#Region "Database"
|
||||||
@ -28,6 +32,9 @@ Interface IEDMIService
|
|||||||
|
|
||||||
<OperationContract>
|
<OperationContract>
|
||||||
Function ReturnScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse
|
Function ReturnScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse
|
||||||
|
|
||||||
|
<OperationContract>
|
||||||
|
Function ExecuteNonQuery(pData As ExecuteNonQuery.ExecuteNonQueryRequest) As ExecuteNonQuery.ExecuteNonQueryResponse
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region "Database (Firebird)"
|
#Region "Database (Firebird)"
|
||||||
|
|||||||
@ -0,0 +1,22 @@
|
|||||||
|
Imports DigitalData.Modules.Database
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
|
Namespace Methods.Base.GetClientConfig
|
||||||
|
Public Class GetClientConfigMethod
|
||||||
|
Inherits BaseMethod
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
||||||
|
MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function Run() As GetClientConfigResponse
|
||||||
|
Try
|
||||||
|
Return New GetClientConfigResponse(GlobalState.ClientConfig)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Warn("Error occurred while getting client config!")
|
||||||
|
Return New GetClientConfigResponse(ex)
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
|
Namespace Methods.Base.GetClientConfig
|
||||||
|
|
||||||
|
<Serializable>
|
||||||
|
<DataContract>
|
||||||
|
Public Class GetClientConfigResponse
|
||||||
|
Inherits Messages.BaseResponse
|
||||||
|
|
||||||
|
<DataMember>
|
||||||
|
Public Property ClientConfig As Config.ClientConfiguration
|
||||||
|
|
||||||
|
Public Sub New(pConfig As Config.ClientConfiguration)
|
||||||
|
MyBase.New()
|
||||||
|
ClientConfig = pConfig
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(pException As Exception, Optional pDetails As String = "")
|
||||||
|
MyBase.New(pException, pDetails)
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
Imports DigitalData.Modules.Database
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
|
Namespace Methods.Database.ExecuteNonQuery
|
||||||
|
''' <summary>
|
||||||
|
''' Database method for executing a query from the supplied SQL Command and a Connection Id.
|
||||||
|
''' </summary>
|
||||||
|
Public Class ExecuteNonQueryMethod
|
||||||
|
Inherits BaseMethod
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
||||||
|
MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Executes a Query. If ConnectionId is empty, uses the configured DD_ECM Database.
|
||||||
|
''' </summary>
|
||||||
|
Public Function Run(pData As ExecuteNonQueryRequest) As ExecuteNonQueryResponse
|
||||||
|
Try
|
||||||
|
Dim oResult As Boolean = False
|
||||||
|
|
||||||
|
Select Case pData.DatabaseType
|
||||||
|
Case DatabaseType.MSSQL
|
||||||
|
If pData.NamedDatabase = DatabaseName.None Then
|
||||||
|
oResult = ExecuteNonQueryByConnectionId(pData.SqlCommand, pData.ConnectionId)
|
||||||
|
|
||||||
|
ElseIf pData.NamedDatabase = DatabaseName.ECM Then
|
||||||
|
oResult = DatabaseECM.ExecuteNonQuery(pData.SqlCommand)
|
||||||
|
|
||||||
|
ElseIf pData.NamedDatabase = DatabaseName.IDB Then
|
||||||
|
oResult = DatabaseIDB.ExecuteNonQuery(pData.SqlCommand)
|
||||||
|
|
||||||
|
Else
|
||||||
|
LogAndThrow($"Unsupported Named Database supplied. SQL Command [{pData.SqlCommand}] was not executed!")
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
LogAndThrow($"Only MSSQL Server is supported at this time. SQL Command [{pData.SqlCommand}] was not executed!")
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Return New ExecuteNonQueryResponse(oResult)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Warn("Error occurred while getting database scalar value!")
|
||||||
|
Return New ExecuteNonQueryResponse(ex)
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function ExecuteNonQueryByConnectionId(pSQLCommand As String, pConnectionId As Integer) As Boolean
|
||||||
|
If pConnectionId = 0 Then
|
||||||
|
Return DatabaseECM.ExecuteNonQuery(pSQLCommand)
|
||||||
|
Else
|
||||||
|
Dim oConnectionString = DatabaseECM.Get_ConnectionStringforID(pConnectionId)
|
||||||
|
If oConnectionString <> "" Then
|
||||||
|
|
||||||
|
Return DatabaseIDB.ExecuteNonQueryWithConnection(pSQLCommand, oConnectionString)
|
||||||
|
Else
|
||||||
|
Logger.Warn("ConnectionId [{0}] could not be translated into ConnectionString. Exiting.")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
Namespace Methods.Database.ExecuteNonQuery
|
||||||
|
Public Class ExecuteNonQueryRequest
|
||||||
|
Public Property SqlCommand As String = ""
|
||||||
|
Public Property ConnectionId As Integer = 0
|
||||||
|
Public Property DatabaseType As DatabaseType = DatabaseType.MSSQL
|
||||||
|
Public Property NamedDatabase As DatabaseName = DatabaseName.ECM
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
|
Namespace Methods.Database.ExecuteNonQuery
|
||||||
|
|
||||||
|
<Serializable>
|
||||||
|
<DataContract>
|
||||||
|
Public Class ExecuteNonQueryResponse
|
||||||
|
Inherits Messages.BaseResponse
|
||||||
|
|
||||||
|
<DataMember>
|
||||||
|
Public Property Result As Boolean
|
||||||
|
|
||||||
|
Public Sub New(pResult As Object)
|
||||||
|
MyBase.New()
|
||||||
|
Result = pResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(pException As Exception, Optional pDetails As String = "")
|
||||||
|
MyBase.New(pException, pDetails)
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
Imports DigitalData.Modules.Language
|
Imports DigitalData.Modules.Language
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
|
|
||||||
Namespace Methods.GetDatatableFromCache
|
Namespace Methods.Database.GetDatatableFromCache
|
||||||
Public Class GetDatatableFromCacheMethod
|
Public Class GetDatatableFromCacheMethod
|
||||||
Inherits BaseMethod
|
Inherits BaseMethod
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetDatatableFromCache
|
Namespace Methods.Database.GetDatatableFromCache
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class GetDatatableFromCacheRequest
|
Public Class GetDatatableFromCacheRequest
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetDatatableFromCache
|
Namespace Methods.Database.GetDatatableFromCache
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class GetDatatableFromCacheResponse
|
Public Class GetDatatableFromCacheResponse
|
||||||
@ -1,9 +1,10 @@
|
|||||||
Imports DigitalData.Modules.Database
|
Imports System.IO
|
||||||
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Patterns
|
Imports DigitalData.Modules.Patterns
|
||||||
Imports DigitalData.Modules.Language
|
Imports DigitalData.Modules.Language
|
||||||
Imports DigitalData.Services.EDMIService.Methods.GetDatatableFromCache
|
Imports DigitalData.Services.EDMIService.Methods.Database
|
||||||
Imports System.IO
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
Imports DigitalData.Modules.ZooFlow.State
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
|
|
||||||
Namespace Methods.GlobalIndexer.ImportFile
|
Namespace Methods.GlobalIndexer.ImportFile
|
||||||
@ -12,7 +13,7 @@ Namespace Methods.GlobalIndexer.ImportFile
|
|||||||
|
|
||||||
Private ReadOnly Loader As Loader
|
Private ReadOnly Loader As Loader
|
||||||
Private ReadOnly Patterns As Patterns2
|
Private ReadOnly Patterns As Patterns2
|
||||||
Private ReadOnly GetDatatable As GetDatatableFromCacheMethod
|
Private ReadOnly GetDatatable As GetDatatableFromCache.GetDatatableFromCacheMethod
|
||||||
Private ReadOnly Connection As SqlClient.SqlConnection
|
Private ReadOnly Connection As SqlClient.SqlConnection
|
||||||
Private ReadOnly Transaction As SqlClient.SqlTransaction
|
Private ReadOnly Transaction As SqlClient.SqlTransaction
|
||||||
|
|
||||||
@ -59,7 +60,7 @@ Namespace Methods.GlobalIndexer.ImportFile
|
|||||||
oAutoAttributes = oAutomaticIndexing.ApplyAutomaticeAttributes(oUserAttributes, pData.File.FileInfoRaw, User)
|
oAutoAttributes = oAutomaticIndexing.ApplyAutomaticeAttributes(oUserAttributes, pData.File.FileInfoRaw, User)
|
||||||
|
|
||||||
' Import the file
|
' Import the file
|
||||||
Dim oNewFile As New NewFileMethod(LogConfig, DatabaseIDB, DatabaseECM, GlobalState)
|
Dim oNewFile As New NewFile.NewFileMethod(LogConfig, DatabaseIDB, DatabaseECM, GlobalState)
|
||||||
Dim oResponse = oNewFile.Run(New NewFile.NewFileRequest With {
|
Dim oResponse = oNewFile.Run(New NewFile.NewFileRequest With {
|
||||||
.File = pData.File,
|
.File = pData.File,
|
||||||
.BusinessEntity = pData.BusinessEntity,
|
.BusinessEntity = pData.BusinessEntity,
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
Imports DigitalData.Modules.ZooFlow.State
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
Namespace Methods.GlobalIndexer.ImportFile
|
Namespace Methods.GlobalIndexer.ImportFile
|
||||||
<Serializable>
|
<Serializable>
|
||||||
|
|||||||
@ -5,6 +5,7 @@ Imports DigitalData.Modules.Logging
|
|||||||
Imports DigitalData.Modules.Patterns
|
Imports DigitalData.Modules.Patterns
|
||||||
Imports DigitalData.Modules.ZooFlow.State
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
Imports DigitalData.Services.EDMIService.IDB
|
Imports DigitalData.Services.EDMIService.IDB
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
Namespace Methods.GlobalIndexer.ImportFile.Steps
|
Namespace Methods.GlobalIndexer.ImportFile.Steps
|
||||||
Public Class AutomaticIndexing
|
Public Class AutomaticIndexing
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.Language
|
Imports DigitalData.Modules.Language
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB
|
||||||
|
|
||||||
Namespace Methods.GlobalIndexer.ImportFile.Steps
|
Namespace Methods.GlobalIndexer.ImportFile.Steps
|
||||||
Public Class PostProcessing
|
Public Class PostProcessing
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.Language
|
Imports DigitalData.Modules.Language
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Services.EDMIService.Methods.GetDatatableFromCache
|
Imports DigitalData.Services.EDMIService.Methods.Database
|
||||||
|
|
||||||
Namespace Methods.GlobalIndexer
|
Namespace Methods.GlobalIndexer
|
||||||
Public Class Loader
|
Public Class Loader
|
||||||
@ -12,11 +12,11 @@ Namespace Methods.GlobalIndexer
|
|||||||
Private Const VIEW_INDEX_AUTOMATIC = "VWDDINDEX_AUTOM"
|
Private Const VIEW_INDEX_AUTOMATIC = "VWDDINDEX_AUTOM"
|
||||||
Private Const TABLE_POST_PROCESSING = "TBDD_INDEX_MAN_POSTPROCESSING"
|
Private Const TABLE_POST_PROCESSING = "TBDD_INDEX_MAN_POSTPROCESSING"
|
||||||
|
|
||||||
Private GetDatatable As GetDatatableFromCacheMethod
|
Private GetDatatable As GetDatatableFromCache.GetDatatableFromCacheMethod
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
||||||
MyBase.New(pLogConfig)
|
MyBase.New(pLogConfig)
|
||||||
GetDatatable = New GetDatatableFromCacheMethod(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
GetDatatable = New GetDatatableFromCache.GetDatatableFromCacheMethod(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@ -26,7 +26,7 @@ Namespace Methods.GlobalIndexer
|
|||||||
Logger.Debug("Start of Method [LoadProfile]")
|
Logger.Debug("Start of Method [LoadProfile]")
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Dim oProfile = GetDatatable.Run(New GetDatatableFromCacheRequest With {
|
Dim oProfile = GetDatatable.Run(New GetDatatableFromCache.GetDatatableFromCacheRequest With {
|
||||||
.DataTable = VIEW_PROFILE,
|
.DataTable = VIEW_PROFILE,
|
||||||
.FilterExpression = $"DOCTYPE_ID = {pProfileId}"
|
.FilterExpression = $"DOCTYPE_ID = {pProfileId}"
|
||||||
})
|
})
|
||||||
@ -69,7 +69,7 @@ Namespace Methods.GlobalIndexer
|
|||||||
Try
|
Try
|
||||||
' Load automatic Indexes for this Import
|
' Load automatic Indexes for this Import
|
||||||
Dim oAutomaticIndexes = GetDatatable.Run(
|
Dim oAutomaticIndexes = GetDatatable.Run(
|
||||||
New GetDatatableFromCacheRequest With {
|
New GetDatatableFromCache.GetDatatableFromCacheRequest With {
|
||||||
.DataTable = VIEW_INDEX_AUTOMATIC,
|
.DataTable = VIEW_INDEX_AUTOMATIC,
|
||||||
.FilterExpression = $"DOCTYPE_ID = {pProfileId}"
|
.FilterExpression = $"DOCTYPE_ID = {pProfileId}"
|
||||||
})
|
})
|
||||||
@ -112,7 +112,7 @@ Namespace Methods.GlobalIndexer
|
|||||||
Try
|
Try
|
||||||
' Load manual Indexes for this Import
|
' Load manual Indexes for this Import
|
||||||
Dim oManualIndexes = GetDatatable.Run(
|
Dim oManualIndexes = GetDatatable.Run(
|
||||||
New GetDatatableFromCacheRequest With {
|
New GetDatatableFromCache.GetDatatableFromCacheRequest With {
|
||||||
.DataTable = VIEW_INDEX_MANUAL,
|
.DataTable = VIEW_INDEX_MANUAL,
|
||||||
.FilterExpression = $"DOK_ID = {pProfileId}"
|
.FilterExpression = $"DOK_ID = {pProfileId}"
|
||||||
})
|
})
|
||||||
@ -166,7 +166,7 @@ Namespace Methods.GlobalIndexer
|
|||||||
|
|
||||||
' Load all relevant postprocessing steps
|
' Load all relevant postprocessing steps
|
||||||
Dim oPostProcessingSteps = GetDatatable.Run(
|
Dim oPostProcessingSteps = GetDatatable.Run(
|
||||||
New GetDatatableFromCacheRequest With {
|
New GetDatatableFromCache.GetDatatableFromCacheRequest With {
|
||||||
.DataTable = TABLE_POST_PROCESSING,
|
.DataTable = TABLE_POST_PROCESSING,
|
||||||
.FilterExpression = $"IDXMAN_ID IN ({oIndexIds})"
|
.FilterExpression = $"IDXMAN_ID IN ({oIndexIds})"
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
Namespace Methods
|
Namespace Methods.IDB
|
||||||
|
|
||||||
Public MustInherit Class BaseAttributeValue
|
Public MustInherit Class BaseAttributeValue
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods
|
Namespace Methods.IDB
|
||||||
Public Class FileProperties
|
Public Class FileProperties
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Absolute filename of the file to be imported
|
''' Absolute filename of the file to be imported
|
||||||
@ -1,7 +1,8 @@
|
|||||||
Imports DigitalData.Modules.Database
|
Imports DigitalData.Modules.Database
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods.IDB.GetAttributeValue
|
||||||
|
|
||||||
Namespace Methods.GetAttributeValue
|
Namespace Methods.IDB.GetAttributeValue
|
||||||
Public Class GetAttributeValueMethod
|
Public Class GetAttributeValueMethod
|
||||||
Inherits BaseMethod
|
Inherits BaseMethod
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
Namespace Methods.GetAttributeValue
|
Namespace Methods.IDB.GetAttributeValue
|
||||||
Public Class GetAttributeValueRequest
|
Public Class GetAttributeValueRequest
|
||||||
Public Property ObjectId As Long
|
Public Property ObjectId As Long
|
||||||
End Class
|
End Class
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetAttributeValue
|
Namespace Methods.IDB.GetAttributeValue
|
||||||
|
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetFileObject
|
Namespace Methods.IDB.GetFileObject
|
||||||
<Serializable>
|
<Serializable>
|
||||||
Public Class FileObject
|
Public Class FileObject
|
||||||
<DataMember>
|
<DataMember>
|
||||||
@ -3,7 +3,7 @@ Imports DigitalData.Modules.Logging
|
|||||||
Imports DigitalData.Modules.Language
|
Imports DigitalData.Modules.Language
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
|
||||||
Namespace Methods.GetFileObject
|
Namespace Methods.IDB.GetFileObject
|
||||||
Public Class GetFileObjectMethod
|
Public Class GetFileObjectMethod
|
||||||
Inherits BaseMethod
|
Inherits BaseMethod
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetFileObject
|
Namespace Methods.IDB.GetFileObject
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class GetFileObjectRequest
|
Public Class GetFileObjectRequest
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.GetFileObject
|
Namespace Methods.IDB.GetFileObject
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class GetFileObjectResponse
|
Public Class GetFileObjectResponse
|
||||||
235
Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
Normal file
235
Service.EDMIService/Methods/IDB/NewFile/NewFileMethod.vb
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
Imports System.Data.SqlClient
|
||||||
|
Imports DigitalData.Modules.Database
|
||||||
|
Imports DigitalData.Modules.Database.MSSQLServer.TransactionMode
|
||||||
|
Imports DigitalData.Modules.Logging
|
||||||
|
Imports DigitalData.Services.EDMIService.Methods
|
||||||
|
Imports DigitalData.Services.EDMIService.GlobalState
|
||||||
|
|
||||||
|
Namespace Methods.IDB.NewFile
|
||||||
|
Public Class NewFileMethod
|
||||||
|
Inherits BaseMethod
|
||||||
|
|
||||||
|
Private ReadOnly Connection As SqlConnection
|
||||||
|
Private ReadOnly Transaction As SqlTransaction
|
||||||
|
|
||||||
|
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
||||||
|
MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
||||||
|
|
||||||
|
Connection = DatabaseIDB.GetConnection()
|
||||||
|
Transaction = Connection.BeginTransaction()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function Run(pData As NewFile.NewFileRequest) As Methods.IDB.NewFile.NewFileResponse
|
||||||
|
Dim oFilePath As String = Nothing
|
||||||
|
|
||||||
|
Dim oExistingObjectId = TestFileChecksumExists(pData.File.FileChecksum)
|
||||||
|
If oExistingObjectId > 0 Then
|
||||||
|
Return New NewFile.NewFileResponse(oExistingObjectId)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim oObjectId = NewObjectId(pData.KindType, pData.BusinessEntity, pData.User.UserName)
|
||||||
|
If oObjectId = 0 Then
|
||||||
|
LogAndThrow("Could not create new ObjectId!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Find ObjectStore by Title
|
||||||
|
Logger.Debug("Checking for DataStore [{0}].", pData.StoreName)
|
||||||
|
Dim oStore = GlobalState.ObjectStores.
|
||||||
|
Where(Function(store) store.Title.Equals(pData.StoreName, StringComparison.OrdinalIgnoreCase)).
|
||||||
|
SingleOrDefault()
|
||||||
|
|
||||||
|
If oStore Is Nothing Then
|
||||||
|
LogAndThrow($"DataStore [{pData.StoreName}] does not exist. Exiting.")
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Get Store base path
|
||||||
|
Dim oBasePath As String = oStore.Path
|
||||||
|
Logger.Debug("Store BasePath is [{0}]", oBasePath)
|
||||||
|
|
||||||
|
' Get directory by DateImported or, if not supplied, by current date
|
||||||
|
Dim oSubDirectory As String
|
||||||
|
If IsNothing(pData.File.FileImportedAt) Then
|
||||||
|
oSubDirectory = GetDateSubDirectory(Now)
|
||||||
|
Else
|
||||||
|
oSubDirectory = GetDateSubDirectory(pData.File.FileImportedAt)
|
||||||
|
End If
|
||||||
|
Logger.Debug("Subdirectory is [{0}]", oSubDirectory)
|
||||||
|
|
||||||
|
' Check and create final path, if necessary
|
||||||
|
Dim oFinalPath = IO.Path.Combine(oBasePath, oSubDirectory)
|
||||||
|
If Not IO.Directory.Exists(oFinalPath) Then
|
||||||
|
Try
|
||||||
|
Logger.Debug("Path does not exist, creating: [{0}]", oFinalPath)
|
||||||
|
IO.Directory.CreateDirectory(oFinalPath)
|
||||||
|
Logger.Debug("Created folder [{0}]", oFinalPath)
|
||||||
|
Catch ex As Exception
|
||||||
|
LogAndThrow(ex, $"Store Directory [{oFinalPath}] could not be created!")
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
Logger.Debug("Final Directory is [{0}]", oFinalPath)
|
||||||
|
|
||||||
|
' Get filename
|
||||||
|
Dim oKeepFileName As Boolean = False
|
||||||
|
If oStore.IsArchive Then
|
||||||
|
Logger.Debug("Object Store is an archive: [{0}]", oStore.IsArchive)
|
||||||
|
oKeepFileName = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim oFileName As String = GetFileObjectFileName(oObjectId, pData.File.FileName, oKeepFileName)
|
||||||
|
Logger.Debug("Filename is [{0}]", oFileName)
|
||||||
|
|
||||||
|
oFilePath = IO.Path.Combine(oFinalPath, oFileName)
|
||||||
|
Dim oFileObjectInfo As IO.FileInfo = New IO.FileInfo(oFilePath)
|
||||||
|
|
||||||
|
Dim oFileObjectSize As Long = pData.File.FileContents.Length
|
||||||
|
Dim oFileObjectName As String = oFileObjectInfo.Name
|
||||||
|
Dim oOriginalExtension As String = pData.File.FileInfoRaw.Extension.Substring(1)
|
||||||
|
|
||||||
|
Logger.Debug("File Information for [{0}]:", oFileObjectName)
|
||||||
|
Logger.Debug("Size: [{0}]", oFileObjectSize)
|
||||||
|
Logger.Debug("Original Extension: [{0}]", oOriginalExtension)
|
||||||
|
Logger.Debug("Checksum: [{0}]", pData.File.FileChecksum)
|
||||||
|
|
||||||
|
Try
|
||||||
|
Using oStream = New IO.FileStream(oFilePath, IO.FileMode.Create, IO.FileAccess.Write)
|
||||||
|
Logger.Info("Saving file to path [{0}]", oFilePath)
|
||||||
|
oStream.Write(pData.File.FileContents, 0, oFileObjectSize)
|
||||||
|
oStream.Flush(True)
|
||||||
|
oStream.Close()
|
||||||
|
End Using
|
||||||
|
Catch ex As Exception
|
||||||
|
LogAndThrow(ex, $"Could not write file [{oFilePath}] to disk!")
|
||||||
|
End Try
|
||||||
|
|
||||||
|
'---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Logger.Info("Creating IDB FileObject for ObjectId [{0}].", oObjectId)
|
||||||
|
|
||||||
|
' Insert into DB
|
||||||
|
Dim oSQL As String = $"EXEC PRIDB_NEW_IDBFO
|
||||||
|
'{oFinalPath}',
|
||||||
|
'{oFileObjectName}',
|
||||||
|
'{oOriginalExtension}',
|
||||||
|
{oFileObjectSize},
|
||||||
|
'{pData.File.FileChecksum}' ,
|
||||||
|
'{pData.User.UserName}',
|
||||||
|
'{oObjectId}',
|
||||||
|
{oStore.Id}"
|
||||||
|
|
||||||
|
Dim oResult As Boolean = DatabaseIDB.ExecuteNonQueryWithConnectionObject(oSQL, Connection, ExternalTransaction, Transaction)
|
||||||
|
|
||||||
|
If oResult = False Then
|
||||||
|
LogAndThrow("IDB FileObject could not be created!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
'---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
'TODO: File dates in try catch
|
||||||
|
|
||||||
|
Dim oSystemAttributes As New Dictionary(Of String, Object) From {
|
||||||
|
{"OriginFileName", pData.File.FileName},
|
||||||
|
{"OriginCreationDatetime", pData.File.FileCreatedAt},
|
||||||
|
{"OriginChangedDatetime", pData.File.FileChangedAt}
|
||||||
|
}
|
||||||
|
|
||||||
|
For Each oAttribute As KeyValuePair(Of String, Object) In oSystemAttributes
|
||||||
|
Try
|
||||||
|
' Dont write empty attributes
|
||||||
|
If oAttribute.Value Is Nothing Then
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim oSuccess = Helpers.SetAttributeValue(Connection, Transaction, oObjectId, oAttribute.Key, oAttribute.Value, pData.User.Language, pData.User.UserName)
|
||||||
|
If oSuccess Then
|
||||||
|
Logger.Debug("System Attribute [{0}] written with value [{1}]", oAttribute.Key, oAttribute.Value)
|
||||||
|
Else
|
||||||
|
Logger.Warn("System attribute value could not be written")
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
LogAndThrow(ex, $"System attribute [{oAttribute.Key}] could not be written!")
|
||||||
|
End Try
|
||||||
|
Next
|
||||||
|
|
||||||
|
'---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
' Finally, commit the transaction
|
||||||
|
Transaction?.Commit()
|
||||||
|
|
||||||
|
Return New NewFile.NewFileResponse(oObjectId)
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Warn("Error occurred while creating file!")
|
||||||
|
Logger.Error(ex)
|
||||||
|
|
||||||
|
Logger.Info("Cleaning up files.")
|
||||||
|
If Not IsNothing(oFilePath) AndAlso IO.File.Exists(oFilePath) Then
|
||||||
|
Try
|
||||||
|
IO.File.Delete(oFilePath)
|
||||||
|
Catch exInner As Exception
|
||||||
|
Logger.Warn("Error while cleaning up files.")
|
||||||
|
Logger.Error(exInner)
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
|
||||||
|
Logger.Info("Rolling back transaction.")
|
||||||
|
Transaction?.Rollback()
|
||||||
|
|
||||||
|
Return New NewFile.NewFileResponse(ex)
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function TestFileChecksumExists(pChecksum As String) As Long
|
||||||
|
Try
|
||||||
|
Dim oChecksumSQL = $"SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE FILE_HASH = '{pChecksum}'"
|
||||||
|
Dim oExistingObjectId As Long = DatabaseIDB.GetScalarValue(oChecksumSQL)
|
||||||
|
|
||||||
|
If oExistingObjectId > 0 Then
|
||||||
|
Logger.Info("Returning early with ObjectId [{0}] because Checksum [{1}] already exists.", oExistingObjectId, pChecksum)
|
||||||
|
Return oExistingObjectId
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function NewObjectId(pKindType As String, pBusinessEntity As String, pWho As String) As Long
|
||||||
|
Try
|
||||||
|
Dim oNewObjectIdSQL = $"DECLARE @NEW_IDB_OBJ_ID BIGINT
|
||||||
|
EXEC PRIDB_NEW_OBJECT '{pKindType}','{pWho}','{pBusinessEntity}',0, @IDB_OBJ_ID = @NEW_IDB_OBJ_ID OUTPUT;
|
||||||
|
SELECT @NEW_IDB_OBJ_ID"
|
||||||
|
Dim oObjectId As Long = DatabaseIDB.GetScalarValueWithConnectionObject(oNewObjectIdSQL, Connection, ExternalTransaction, Transaction)
|
||||||
|
Logger.Info("New Object with Id [{0}] created!", oObjectId)
|
||||||
|
|
||||||
|
If IsNothing(oObjectId) Then
|
||||||
|
LogAndThrow("Could not create new ObjectId!")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oObjectId
|
||||||
|
Catch ex As Exception
|
||||||
|
Logger.Error(ex)
|
||||||
|
Return Nothing
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetFileObjectFileName(IDB_OBJ_ID As Long, pFilename As String, pKeepFilename As Boolean) As String
|
||||||
|
' TODO: save actual extensions
|
||||||
|
If pKeepFilename Then
|
||||||
|
Return pFilename
|
||||||
|
Else
|
||||||
|
Return $"{IDB_OBJ_ID}.ddfo"
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetDateSubDirectory(pDate As Date) As String
|
||||||
|
Return IO.Path.Combine(pDate.ToString("yyyy"), pDate.ToString("MM"), pDate.ToString("dd"))
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
||||||
@ -1,7 +1,7 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
Imports DigitalData.Modules.ZooFlow.State
|
Imports DigitalData.Modules.ZooFlow.State
|
||||||
|
|
||||||
Namespace Methods.NewFile
|
Namespace Methods.IDB.NewFile
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class NewFileRequest
|
Public Class NewFileRequest
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.NewFile
|
Namespace Methods.IDB.NewFile
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class NewFileResponse
|
Public Class NewFileResponse
|
||||||
@ -3,7 +3,7 @@ Imports DigitalData.Modules.Database
|
|||||||
Imports DigitalData.Services.EDMIService.IDB
|
Imports DigitalData.Services.EDMIService.IDB
|
||||||
Imports System.Data.SqlClient
|
Imports System.Data.SqlClient
|
||||||
|
|
||||||
Namespace Methods.SetAttributeValue
|
Namespace Methods.IDB.SetAttributeValue
|
||||||
Public Class SetAttributeValueMethod
|
Public Class SetAttributeValueMethod
|
||||||
Inherits BaseMethod
|
Inherits BaseMethod
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.SetAttributeValue
|
Namespace Methods.IDB.SetAttributeValue
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class SetAttributeValueRequest
|
Public Class SetAttributeValueRequest
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Imports System.Runtime.Serialization
|
Imports System.Runtime.Serialization
|
||||||
|
|
||||||
Namespace Methods.SetAttributeValue
|
Namespace Methods.IDB.SetAttributeValue
|
||||||
<Serializable>
|
<Serializable>
|
||||||
<DataContract>
|
<DataContract>
|
||||||
Public Class SetAttributeValueResponse
|
Public Class SetAttributeValueResponse
|
||||||
@ -1,232 +0,0 @@
|
|||||||
Imports System.Data.SqlClient
|
|
||||||
Imports DigitalData.Modules.Database
|
|
||||||
Imports DigitalData.Modules.Database.MSSQLServer.TransactionMode
|
|
||||||
Imports DigitalData.Modules.Logging
|
|
||||||
Imports DigitalData.Services.EDMIService.Methods
|
|
||||||
Imports DigitalData.Services.EDMIService.GlobalState
|
|
||||||
|
|
||||||
Public Class NewFileMethod
|
|
||||||
Inherits BaseMethod
|
|
||||||
|
|
||||||
Private ReadOnly Connection As SqlConnection
|
|
||||||
Private ReadOnly Transaction As SqlTransaction
|
|
||||||
|
|
||||||
Public Sub New(pLogConfig As LogConfig, pDatabaseIDB As MSSQLServer, pDatabaseECM As MSSQLServer, pGlobalState As GlobalState)
|
|
||||||
MyBase.New(pLogConfig, pDatabaseIDB, pDatabaseECM, pGlobalState)
|
|
||||||
|
|
||||||
Connection = DatabaseIDB.GetConnection()
|
|
||||||
Transaction = Connection.BeginTransaction()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Function Run(pData As NewFile.NewFileRequest) As NewFile.NewFileResponse
|
|
||||||
Dim oFilePath As String = Nothing
|
|
||||||
|
|
||||||
Dim oExistingObjectId = TestFileChecksumExists(pData.File.FileChecksum)
|
|
||||||
If oExistingObjectId > 0 Then
|
|
||||||
Return New NewFile.NewFileResponse(oExistingObjectId)
|
|
||||||
End If
|
|
||||||
|
|
||||||
Try
|
|
||||||
|
|
||||||
Dim oObjectId = NewObjectId(pData.KindType, pData.BusinessEntity, pData.User.UserName)
|
|
||||||
If oObjectId = 0 Then
|
|
||||||
LogAndThrow("Could not create new ObjectId!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Find ObjectStore by Title
|
|
||||||
Logger.Debug("Checking for DataStore [{0}].", pData.StoreName)
|
|
||||||
Dim oStore = GlobalState.ObjectStores.
|
|
||||||
Where(Function(store) store.Title.Equals(pData.StoreName, StringComparison.OrdinalIgnoreCase)).
|
|
||||||
SingleOrDefault()
|
|
||||||
|
|
||||||
If oStore Is Nothing Then
|
|
||||||
LogAndThrow($"DataStore [{pData.StoreName}] does not exist. Exiting.")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Get Store base path
|
|
||||||
Dim oBasePath As String = oStore.Path
|
|
||||||
Logger.Debug("Store BasePath is [{0}]", oBasePath)
|
|
||||||
|
|
||||||
' Get directory by DateImported or, if not supplied, by current date
|
|
||||||
Dim oSubDirectory As String
|
|
||||||
If IsNothing(pData.File.FileImportedAt) Then
|
|
||||||
oSubDirectory = GetDateSubDirectory(Now)
|
|
||||||
Else
|
|
||||||
oSubDirectory = GetDateSubDirectory(pData.File.FileImportedAt)
|
|
||||||
End If
|
|
||||||
Logger.Debug("Subdirectory is [{0}]", oSubDirectory)
|
|
||||||
|
|
||||||
' Check and create final path, if necessary
|
|
||||||
Dim oFinalPath = IO.Path.Combine(oBasePath, oSubDirectory)
|
|
||||||
If Not IO.Directory.Exists(oFinalPath) Then
|
|
||||||
Try
|
|
||||||
Logger.Debug("Path does not exist, creating: [{0}]", oFinalPath)
|
|
||||||
IO.Directory.CreateDirectory(oFinalPath)
|
|
||||||
Logger.Debug("Created folder [{0}]", oFinalPath)
|
|
||||||
Catch ex As Exception
|
|
||||||
LogAndThrow(ex, $"Store Directory [{oFinalPath}] could not be created!")
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
Logger.Debug("Final Directory is [{0}]", oFinalPath)
|
|
||||||
|
|
||||||
' Get filename
|
|
||||||
Dim oKeepFileName As Boolean = False
|
|
||||||
If oStore.IsArchive Then
|
|
||||||
Logger.Debug("Object Store is an archive: [{0}]", oStore.IsArchive)
|
|
||||||
oKeepFileName = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim oFileName As String = GetFileObjectFileName(oObjectId, pData.File.FileName, oKeepFileName)
|
|
||||||
Logger.Debug("Filename is [{0}]", oFileName)
|
|
||||||
|
|
||||||
oFilePath = IO.Path.Combine(oFinalPath, oFileName)
|
|
||||||
Dim oFileObjectInfo As IO.FileInfo = New IO.FileInfo(oFilePath)
|
|
||||||
|
|
||||||
Dim oFileObjectSize As Long = pData.File.FileContents.Length
|
|
||||||
Dim oFileObjectName As String = oFileObjectInfo.Name
|
|
||||||
Dim oOriginalExtension As String = pData.File.FileInfoRaw.Extension.Substring(1)
|
|
||||||
|
|
||||||
Logger.Debug("File Information for [{0}]:", oFileObjectName)
|
|
||||||
Logger.Debug("Size: [{0}]", oFileObjectSize)
|
|
||||||
Logger.Debug("Original Extension: [{0}]", oOriginalExtension)
|
|
||||||
Logger.Debug("Checksum: [{0}]", pData.File.FileChecksum)
|
|
||||||
|
|
||||||
Try
|
|
||||||
Using oStream = New IO.FileStream(oFilePath, IO.FileMode.Create, IO.FileAccess.Write)
|
|
||||||
Logger.Info("Saving file to path [{0}]", oFilePath)
|
|
||||||
oStream.Write(pData.File.FileContents, 0, oFileObjectSize)
|
|
||||||
oStream.Flush(True)
|
|
||||||
oStream.Close()
|
|
||||||
End Using
|
|
||||||
Catch ex As Exception
|
|
||||||
LogAndThrow(ex, $"Could not write file [{oFilePath}] to disk!")
|
|
||||||
End Try
|
|
||||||
|
|
||||||
'---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Logger.Info("Creating IDB FileObject for ObjectId [{0}].", oObjectId)
|
|
||||||
|
|
||||||
' Insert into DB
|
|
||||||
Dim oSQL As String = $"EXEC PRIDB_NEW_IDBFO
|
|
||||||
'{oFinalPath}',
|
|
||||||
'{oFileObjectName}',
|
|
||||||
'{oOriginalExtension}',
|
|
||||||
{oFileObjectSize},
|
|
||||||
'{pData.File.FileChecksum}' ,
|
|
||||||
'{pData.User.UserName}',
|
|
||||||
'{oObjectId}',
|
|
||||||
{oStore.Id}"
|
|
||||||
|
|
||||||
Dim oResult As Boolean = DatabaseIDB.ExecuteNonQueryWithConnectionObject(oSQL, Connection, ExternalTransaction, Transaction)
|
|
||||||
|
|
||||||
If oResult = False Then
|
|
||||||
LogAndThrow("IDB FileObject could not be created!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
'---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
'TODO: File dates in try catch
|
|
||||||
|
|
||||||
Dim oSystemAttributes As New Dictionary(Of String, Object) From {
|
|
||||||
{"OriginFileName", pData.File.FileName},
|
|
||||||
{"OriginCreationDatetime", pData.File.FileCreatedAt},
|
|
||||||
{"OriginChangedDatetime", pData.File.FileChangedAt}
|
|
||||||
}
|
|
||||||
|
|
||||||
For Each oAttribute As KeyValuePair(Of String, Object) In oSystemAttributes
|
|
||||||
Try
|
|
||||||
' Dont write empty attributes
|
|
||||||
If oAttribute.Value Is Nothing Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim oSuccess = Helpers.SetAttributeValue(Connection, Transaction, oObjectId, oAttribute.Key, oAttribute.Value, pData.User.Language, pData.User.UserName)
|
|
||||||
If oSuccess Then
|
|
||||||
Logger.Debug("System Attribute [{0}] written with value [{1}]", oAttribute.Key, oAttribute.Value)
|
|
||||||
Else
|
|
||||||
Logger.Warn("System attribute value could not be written")
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
LogAndThrow(ex, $"System attribute [{oAttribute.Key}] could not be written!")
|
|
||||||
End Try
|
|
||||||
Next
|
|
||||||
|
|
||||||
'---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
' Finally, commit the transaction
|
|
||||||
Transaction?.Commit()
|
|
||||||
|
|
||||||
Return New NewFile.NewFileResponse(oObjectId)
|
|
||||||
Catch ex As Exception
|
|
||||||
Logger.Warn("Error occurred while creating file!")
|
|
||||||
Logger.Error(ex)
|
|
||||||
|
|
||||||
Logger.Info("Cleaning up files.")
|
|
||||||
If Not IsNothing(oFilePath) AndAlso IO.File.Exists(oFilePath) Then
|
|
||||||
Try
|
|
||||||
IO.File.Delete(oFilePath)
|
|
||||||
Catch exInner As Exception
|
|
||||||
Logger.Warn("Error while cleaning up files.")
|
|
||||||
Logger.Error(exInner)
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
|
|
||||||
Logger.Info("Rolling back transaction.")
|
|
||||||
Transaction?.Rollback()
|
|
||||||
|
|
||||||
Return New NewFile.NewFileResponse(ex)
|
|
||||||
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function TestFileChecksumExists(pChecksum As String) As Long
|
|
||||||
Try
|
|
||||||
Dim oChecksumSQL = $"SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE FILE_HASH = '{pChecksum}'"
|
|
||||||
Dim oExistingObjectId As Long = DatabaseIDB.GetScalarValue(oChecksumSQL)
|
|
||||||
|
|
||||||
If oExistingObjectId > 0 Then
|
|
||||||
Logger.Info("Returning early with ObjectId [{0}] because Checksum [{1}] already exists.", oExistingObjectId, pChecksum)
|
|
||||||
Return oExistingObjectId
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return Nothing
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
Logger.Error(ex)
|
|
||||||
Return Nothing
|
|
||||||
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function NewObjectId(pKindType As String, pBusinessEntity As String, pWho As String) As Long
|
|
||||||
Try
|
|
||||||
Dim oNewObjectIdSQL = $"DECLARE @NEW_IDB_OBJ_ID BIGINT
|
|
||||||
EXEC PRIDB_NEW_OBJECT '{pKindType}','{pWho}','{pBusinessEntity}',0, @IDB_OBJ_ID = @NEW_IDB_OBJ_ID OUTPUT;
|
|
||||||
SELECT @NEW_IDB_OBJ_ID"
|
|
||||||
Dim oObjectId As Long = DatabaseIDB.GetScalarValueWithConnectionObject(oNewObjectIdSQL, Connection, ExternalTransaction, Transaction)
|
|
||||||
Logger.Info("New Object with Id [{0}] created!", oObjectId)
|
|
||||||
|
|
||||||
If IsNothing(oObjectId) Then
|
|
||||||
LogAndThrow("Could not create new ObjectId!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return oObjectId
|
|
||||||
Catch ex As Exception
|
|
||||||
Logger.Error(ex)
|
|
||||||
Return Nothing
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function GetFileObjectFileName(IDB_OBJ_ID As Long, pFilename As String, pKeepFilename As Boolean) As String
|
|
||||||
' TODO: save actual extensions
|
|
||||||
If pKeepFilename Then
|
|
||||||
Return pFilename
|
|
||||||
Else
|
|
||||||
Return $"{IDB_OBJ_ID}.ddfo"
|
|
||||||
End If
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function GetDateSubDirectory(pDate As Date) As String
|
|
||||||
Return IO.Path.Combine(pDate.ToString("yyyy"), pDate.ToString("MM"), pDate.ToString("dd"))
|
|
||||||
End Function
|
|
||||||
End Class
|
|
||||||
@ -12,8 +12,8 @@ Imports System.Runtime.InteropServices
|
|||||||
<Assembly: AssemblyDescription("")>
|
<Assembly: AssemblyDescription("")>
|
||||||
<Assembly: AssemblyCompany("Digital Data")>
|
<Assembly: AssemblyCompany("Digital Data")>
|
||||||
<Assembly: AssemblyProduct("EDMIService")>
|
<Assembly: AssemblyProduct("EDMIService")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2021")>
|
<Assembly: AssemblyCopyright("Copyright © 2022")>
|
||||||
<Assembly: AssemblyTrademark("2.3.4.0")>
|
<Assembly: AssemblyTrademark("2.4.0.0")>
|
||||||
|
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("2.3.4.0")>
|
<Assembly: AssemblyVersion("2.4.0.0")>
|
||||||
<Assembly: AssemblyFileVersion("2.3.4.0")>
|
<Assembly: AssemblyFileVersion("2.4.0.0")>
|
||||||
|
|||||||
@ -83,6 +83,10 @@ Public Class WindowsService
|
|||||||
GlobalState.LoadObjectStores()
|
GlobalState.LoadObjectStores()
|
||||||
GlobalState.LoadConnections()
|
GlobalState.LoadConnections()
|
||||||
|
|
||||||
|
Logger.Debug("Loading Client Config")
|
||||||
|
Logger.Debug("ForceDirectDatabaseAccess: {0}", Config.ClientConfig.ForceDirectDatabaseAccess)
|
||||||
|
GlobalState.ClientConfig = Config.ClientConfig
|
||||||
|
|
||||||
Logger.Debug("Starting Scheduler")
|
Logger.Debug("Starting Scheduler")
|
||||||
Scheduler.Start()
|
Scheduler.Start()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user