EDMI: Add GetDocumentInfo

This commit is contained in:
Jonathan Jenne 2020-12-22 16:28:06 +01:00
parent 2800169251
commit 62ac7860ef
14 changed files with 379 additions and 267 deletions

View File

@ -210,16 +210,29 @@ Public Class frmDocumentResultList
End Select
End Sub
Private Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs)
Private Async Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs)
_ActiveRowHandle = e.FocusedRowHandle
DocumentViewer1.CloseDocument()
If _IsLegacy Then
If e.FocusedRowHandle >= 0 Then
DocumentViewer1.CloseDocument()
If e.FocusedRowHandle >= 0 Then
Dim oRow = sender.GetDataRow(e.FocusedRowHandle)
Dim oFullPath = oRow.Item(COLUMN_FILEPATH)
Dim oRow = sender.GetDataRow(e.FocusedRowHandle)
Dim oFullPath = oRow.Item(COLUMN_FILEPATH)
DocumentViewer1.LoadFile(oFullPath)
End If
Else
If e.FocusedRowHandle >= 0 Then
DocumentViewer1.CloseDocument()
Dim oRow = sender.GetDataRow(e.FocusedRowHandle)
Dim oObjectId = oRow.Item(COLUMN_DOCID)
Dim oInfo = Await _IDBClient.GetDocumentInfo(_Environment.User.UserId, oObjectId)
End If
DocumentViewer1.LoadFile(oFullPath)
End If
End Sub

View File

@ -1,5 +1,6 @@
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.EDMI.API.Rights
Imports System.ServiceModel
Imports System.IO
@ -17,6 +18,11 @@ Public Class Client
Public Datatable As DataTable
End Class
Public Class DocumentInfo
Public FullPath As String
Public AccessRight As AccessRight
End Class
''' <summary>
''' Creates a new EDMIAPI object
''' </summary>
@ -151,16 +157,18 @@ Public Class Client
End Try
End Function
Public Async Function GetAccessRightAsync(UserId As Long, ObjectId As Long) As Task(Of Rights.AccessRight)
Public Async Function GetDocumentInfo(UserId As Long, ObjectId As Long) As Task(Of DocumentInfo)
Try
Dim oResponse As AccessRightResult = Await _channel.GetAccessRightAsync(UserId, ObjectId)
Dim oParams = New DocumentInfoRequest With {
.ObjectId = ObjectId,
.UserId = UserId
}
Dim oResponse As DocumentInfoResponse = Await _channel.GetFileInfoByObjectIdAsync(oParams)
If oResponse.OK Then
Return oResponse.Right
Else
_logger.Warn("Rights from server could not be fetched for UserId [{0}] on Object [{1}]. Returning default Right View", UserId, ObjectId)
Return Rights.AccessRight.VIEW_ONLY
End If
Return New DocumentInfo With {
.AccessRight = oResponse.FileRight,
.FullPath = oResponse.FullPath
}
Catch ex As Exception
_logger.Error(ex)
Throw ex

View File

@ -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="DocumentInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentInfoResponse, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -5,6 +5,6 @@
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="AccessRightResult" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>DigitalData.Modules.EDMI.API.EDMIServiceReference.AccessRightResult, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
<GenericObjectDataSource DisplayName="RightsAccessRight" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>DigitalData.Modules.EDMI.API.EDMIServiceReference.RightsAccessRight, Connected Services.EDMIServiceReference.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@ -1,6 +1,5 @@
<?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:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
<xs:complexType name="TableResult">
<xs:complexContent mixed="false">
<xs:extension base="tns:BaseResult">
@ -49,14 +48,4 @@
</xs:complexContent>
</xs:complexType>
<xs:element name="NonQueryResult" nillable="true" type="tns:NonQueryResult" />
<xs:complexType name="AccessRightResult">
<xs:complexContent mixed="false">
<xs:extension base="tns:BaseResult">
<xs:sequence>
<xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" minOccurs="0" name="Right" type="q1:Rights.AccessRight" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="AccessRightResult" nillable="true" type="tns:AccessRightResult" />
</xs:schema>

View File

@ -7,8 +7,8 @@
<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.Data" />
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
<xsd:import namespace="http://schemas.microsoft.com/Message" />
<xsd:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="IEDMIService_Heartbeat_InputMessage">
@ -77,12 +77,6 @@
<wsdl:message name="IEDMIService_ExecuteNonQuery_MSSQL_ECM_OutputMessage">
<wsdl:part name="parameters" element="tns:ExecuteNonQuery_MSSQL_ECMResponse" />
</wsdl:message>
<wsdl:message name="IEDMIService_GetAccessRight_InputMessage">
<wsdl:part name="parameters" element="tns:GetAccessRight" />
</wsdl:message>
<wsdl:message name="IEDMIService_GetAccessRight_OutputMessage">
<wsdl:part name="parameters" element="tns:GetAccessRightResponse" />
</wsdl:message>
<wsdl:message name="DocumentImportRequest">
<wsdl:part name="parameters" element="tns:DocumentImportRequest" />
</wsdl:message>
@ -98,6 +92,12 @@
<wsdl:message name="DocumentStreamResponse_Headers">
<wsdl:part name="FileName" element="tns:FileName" />
</wsdl:message>
<wsdl:message name="DocumentInfoRequest">
<wsdl:part name="parameters" element="tns:DocumentInfoRequest" />
</wsdl:message>
<wsdl:message name="DocumentInfoResponse">
<wsdl:part name="parameters" element="tns:DocumentInfoResponse" />
</wsdl:message>
<wsdl:message name="IEDMIService_ListFilesForUser_InputMessage" />
<wsdl:message name="DocumentListResponse">
<wsdl:part name="parameters" element="tns:DocumentListResponse" />
@ -147,10 +147,6 @@
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECM" message="tns:IEDMIService_ExecuteNonQuery_MSSQL_ECM_InputMessage" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECMResponse" message="tns:IEDMIService_ExecuteNonQuery_MSSQL_ECM_OutputMessage" />
</wsdl:operation>
<wsdl:operation name="GetAccessRight">
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRight" message="tns:IEDMIService_GetAccessRight_InputMessage" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRightResponse" message="tns:IEDMIService_GetAccessRight_OutputMessage" />
</wsdl:operation>
<wsdl:operation name="ImportFile">
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile" name="DocumentImportRequest" message="tns:DocumentImportRequest" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ImportFileResponse" name="DocumentImportResponse" message="tns:DocumentImportResponse" />
@ -159,6 +155,10 @@
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectId" name="DocumentStreamRequest" message="tns:DocumentStreamRequest" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectIdResponse" name="DocumentStreamResponse" message="tns:DocumentStreamResponse" />
</wsdl:operation>
<wsdl:operation name="GetFileInfoByObjectId">
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectId" name="DocumentInfoRequest" message="tns:DocumentInfoRequest" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectIdResponse" name="DocumentInfoResponse" message="tns:DocumentInfoResponse" />
</wsdl:operation>
<wsdl:operation name="ListFilesForUser">
<wsdl:input wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser" message="tns:IEDMIService_ListFilesForUser_InputMessage" />
<wsdl:output wsaw:Action="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUserResponse" name="DocumentListResponse" message="tns:DocumentListResponse" />

View File

@ -2,6 +2,7 @@
<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.Messages" />
<xs:import namespace="http://schemas.microsoft.com/Message" />
<xs:import namespace="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" />
<xs:element name="Heartbeat">
<xs:complexType>
<xs:sequence />
@ -156,21 +157,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetAccessRight">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="UserId" type="xs:long" />
<xs:element minOccurs="0" name="ObjectId" type="xs:long" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetAccessRightResponse">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" minOccurs="0" name="GetAccessRightResult" nillable="true" type="q11:AccessRightResult" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DocumentImportRequest">
<xs:complexType>
<xs:sequence>
@ -199,11 +185,27 @@
<xs:element name="DocumentStreamResponse">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q12="http://schemas.microsoft.com/Message" name="FileContents" type="q12:StreamBody" />
<xs:element xmlns:q11="http://schemas.microsoft.com/Message" name="FileContents" type="q11:StreamBody" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FileName" nillable="true" type="xs:string" />
<xs:element name="DocumentInfoRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ObjectId" type="xs:long" />
<xs:element minOccurs="0" name="UserId" type="xs:long" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DocumentInfoResponse">
<xs:complexType>
<xs:sequence>
<xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API" minOccurs="0" name="FileRight" type="q12:Rights.AccessRight" />
<xs:element minOccurs="0" name="FullPath" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DocumentListResponse">
<xs:complexType>
<xs:sequence>

View File

@ -29,8 +29,8 @@
<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.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.Modules.EDMI.API.xsd" MetadataType="Schema" ID="b498933f-9053-4382-b385-089a8b611e4b" 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" />
</Metadata>
<Extensions>
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />

View File

@ -23,7 +23,6 @@ Namespace EDMIServiceReference
System.SerializableAttribute(), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.ScalarResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.AccessRightResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult))> _
Partial Public Class BaseResult
Inherits Object
@ -83,229 +82,206 @@ Namespace EDMIServiceReference
End If
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(),
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.SerializableAttribute(),
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)),
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResult)),
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)),
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.AccessRightResult)),
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)),
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.RightsAccessRight))>
<System.Diagnostics.DebuggerStepThroughAttribute(), _
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.SerializableAttribute(), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.TableResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.BaseResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.NonQueryResult)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(System.DBNull)), _
System.Runtime.Serialization.KnownTypeAttribute(GetType(EDMIServiceReference.RightsAccessRight))> _
Partial Public Class ScalarResult
Inherits EDMIServiceReference.BaseResult
<System.Runtime.Serialization.OptionalFieldAttribute()>
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private ScalarField As Object
<System.Runtime.Serialization.DataMemberAttribute()>
<System.Runtime.Serialization.DataMemberAttribute()> _
Public Property Scalar() As Object
Get
Return Me.ScalarField
End Get
Set
If (Object.ReferenceEquals(Me.ScalarField, Value) <> True) Then
Me.ScalarField = Value
If (Object.ReferenceEquals(Me.ScalarField, value) <> true) Then
Me.ScalarField = value
Me.RaisePropertyChanged("Scalar")
End If
End Set
End Property
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(),
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),
System.Runtime.Serialization.DataContractAttribute(Name:="NonQueryResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" &
""),
System.SerializableAttribute()>
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="NonQueryResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages"& _
""), _
System.SerializableAttribute()> _
Partial Public Class NonQueryResult
Inherits EDMIServiceReference.BaseResult
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(),
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),
System.Runtime.Serialization.DataContractAttribute(Name:="AccessRightResult", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages" &
""),
System.SerializableAttribute()>
Partial Public Class AccessRightResult
Inherits EDMIServiceReference.BaseResult
<System.Runtime.Serialization.OptionalFieldAttribute()>
Private RightField As EDMIServiceReference.RightsAccessRight
<System.Runtime.Serialization.DataMemberAttribute()>
Public Property Right() As EDMIServiceReference.RightsAccessRight
Get
Return Me.RightField
End Get
Set
If (Me.RightField.Equals(Value) <> True) Then
Me.RightField = Value
Me.RaisePropertyChanged("Right")
End If
End Set
End Property
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()>
<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.BaseResult
<System.Runtime.Serialization.OptionalFieldAttribute()>
<System.Runtime.Serialization.OptionalFieldAttribute()> _
Private TableField As System.Data.DataTable
<System.Runtime.Serialization.DataMemberAttribute()>
<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
If (Object.ReferenceEquals(Me.TableField, value) <> true) Then
Me.TableField = value
Me.RaisePropertyChanged("Table")
End If
End Set
End Property
End Class
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),
System.Runtime.Serialization.DataContractAttribute(Name:="Rights.AccessRight", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API")>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
System.Runtime.Serialization.DataContractAttribute(Name:="Rights.AccessRight", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Modules.EDMI.API")> _
Public Enum RightsAccessRight As Integer
<System.Runtime.Serialization.EnumMemberAttribute()>
<System.Runtime.Serialization.EnumMemberAttribute()> _
VIEW_ONLY = 1
<System.Runtime.Serialization.EnumMemberAttribute()>
<System.Runtime.Serialization.EnumMemberAttribute()> _
VIEW_EXPORT = 2
<System.Runtime.Serialization.EnumMemberAttribute()>
<System.Runtime.Serialization.EnumMemberAttribute()> _
FULL = 4
End Enum
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"),
System.ServiceModel.ServiceContractAttribute([Namespace]:="http://DigitalData.Services.EDMIService", ConfigurationName:="EDMIServiceReference.IEDMIService")>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
System.ServiceModel.ServiceContractAttribute([Namespace]:="http://DigitalData.Services.EDMIService", ConfigurationName:="EDMIServiceReference.IEDMIService")> _
Public Interface IEDMIService
<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 Heartbeat() As Boolean
<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)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCache", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCacheResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCache", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCacheResp"& _
"onse")> _
Function ReturnDatatableFromCache(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As EDMIServiceReference.TableResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCache", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCacheResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCache", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCacheResp"& _
"onse")> _
Function ReturnDatatableFromCacheAsync(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp"& _
"onse")> _
Function ReturnDatatable_Firebird(ByVal SQL As String) As EDMIServiceReference.TableResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_FirebirdResp"& _
"onse")> _
Function ReturnDatatable_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_FirebirdRespons" &
"e")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_FirebirdRespons"& _
"e")> _
Function ReturnScalar_Firebird(ByVal SQL As String) As EDMIServiceReference.ScalarResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_FirebirdRespons" &
"e")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_FirebirdRespons"& _
"e")> _
Function ReturnScalar_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_FirebirdResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_FirebirdResp"& _
"onse")> _
Function ExecuteNonQuery_Firebird(ByVal SQL As String) As EDMIServiceReference.NonQueryResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_FirebirdResp" &
"onse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_Firebird", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_FirebirdResp"& _
"onse")> _
Function ExecuteNonQuery_FirebirdAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDBRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDBRes"& _
"ponse")> _
Function ReturnDatatable_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.TableResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDBRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_IDBRes"& _
"ponse")> _
Function ReturnDatatable_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDBRespon" &
"se")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDBRespon"& _
"se")> _
Function ReturnScalar_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.ScalarResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDBRespon" &
"se")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_IDBRespon"& _
"se")> _
Function ReturnScalar_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDBRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDBRes"& _
"ponse")> _
Function ExecuteNonQuery_MSSQL_IDB(ByVal SQL As String) As EDMIServiceReference.NonQueryResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDBRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDB", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_IDBRes"& _
"ponse")> _
Function ExecuteNonQuery_MSSQL_IDBAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECMRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECMRes"& _
"ponse")> _
Function ReturnDatatable_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.TableResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECMRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatable_MSSQL_ECMRes"& _
"ponse")> _
Function ReturnDatatable_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECMRespon" &
"se")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECMRespon"& _
"se")> _
Function ReturnScalar_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.ScalarResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECMRespon" &
"se")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnScalar_MSSQL_ECMRespon"& _
"se")> _
Function ReturnScalar_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.ScalarResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECMRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECMRes"& _
"ponse")> _
Function ExecuteNonQuery_MSSQL_ECM(ByVal SQL As String) As EDMIServiceReference.NonQueryResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECMRes" &
"ponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECM", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ExecuteNonQuery_MSSQL_ECMRes"& _
"ponse")> _
Function ExecuteNonQuery_MSSQL_ECMAsync(ByVal SQL As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.NonQueryResult)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRight", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRightResponse")>
Function GetAccessRight(ByVal UserId As Long, ByVal ObjectId As Long) As EDMIServiceReference.AccessRightResult
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRight", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRightResponse")>
Function GetAccessRightAsync(ByVal UserId As Long, ByVal ObjectId As Long) As System.Threading.Tasks.Task(Of EDMIServiceReference.AccessRightResult)
'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (DocumentImportRequest) von Nachricht "DocumentImportRequest" nicht mit dem Standardwert (ImportFile) übereinstimmt.
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFileResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFileResponse")> _
Function ImportFile(ByVal request As EDMIServiceReference.DocumentImportRequest) As EDMIServiceReference.DocumentImportResponse
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFileResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ImportFileResponse")> _
Function ImportFileAsync(ByVal request As EDMIServiceReference.DocumentImportRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentImportResponse)
'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (DocumentStreamRequest) von Nachricht "DocumentStreamRequest" nicht mit dem Standardwert (GetFileByObjectId) übereinstimmt.
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectIdResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectIdResponse")> _
Function GetFileByObjectId(ByVal request As EDMIServiceReference.DocumentStreamRequest) As EDMIServiceReference.DocumentStreamResponse
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectIdResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileByObjectIdResponse")> _
Function GetFileByObjectIdAsync(ByVal request As EDMIServiceReference.DocumentStreamRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentStreamResponse)
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectIdRespons"& _
"e")> _
Function GetFileInfoByObjectId(ByVal request As EDMIServiceReference.DocumentInfoRequest) As EDMIServiceReference.DocumentInfoResponse
'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Vorgang mehrere Rückgabewerte aufweist.
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectId", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectIdRespons"& _
"e")> _
Function GetFileInfoByObjectIdAsync(ByVal request As EDMIServiceReference.DocumentInfoRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentInfoResponse)
'CODEGEN: Der Nachrichtenvertrag wird generiert, da der Vorgang ListFilesForUser weder in RPC noch in einem Dokument eingeschlossen ist.
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUserResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUserResponse")> _
Function ListFilesForUser(ByVal request As EDMIServiceReference.ListFilesForUserRequest) As EDMIServiceReference.DocumentListResponse
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUserResponse")>
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUserResponse")> _
Function ListFilesForUserAsync(ByVal request As EDMIServiceReference.ListFilesForUserRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentListResponse)
End Interface
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
@ -402,6 +378,50 @@ Namespace EDMIServiceReference
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
System.ServiceModel.MessageContractAttribute(WrapperName:="DocumentInfoRequest", WrapperNamespace:="http://DigitalData.Services.EDMIService", IsWrapped:=true)> _
Partial Public Class DocumentInfoRequest
<System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="http://DigitalData.Services.EDMIService", Order:=0)> _
Public ObjectId As Long
<System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="http://DigitalData.Services.EDMIService", Order:=1)> _
Public UserId As Long
Public Sub New()
MyBase.New
End Sub
Public Sub New(ByVal ObjectId As Long, ByVal UserId As Long)
MyBase.New
Me.ObjectId = ObjectId
Me.UserId = UserId
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
System.ServiceModel.MessageContractAttribute(WrapperName:="DocumentInfoResponse", WrapperNamespace:="http://DigitalData.Services.EDMIService", IsWrapped:=true)> _
Partial Public Class DocumentInfoResponse
<System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="http://DigitalData.Services.EDMIService", Order:=0)> _
Public FileRight As EDMIServiceReference.RightsAccessRight
<System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="http://DigitalData.Services.EDMIService", Order:=1)> _
Public FullPath As String
Public Sub New()
MyBase.New
End Sub
Public Sub New(ByVal FileRight As EDMIServiceReference.RightsAccessRight, ByVal FullPath As String)
MyBase.New
Me.FileRight = FileRight
Me.FullPath = FullPath
End Sub
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
@ -551,14 +571,6 @@ Namespace EDMIServiceReference
Return MyBase.Channel.ExecuteNonQuery_MSSQL_ECMAsync(SQL)
End Function
Public Function GetAccessRight(ByVal UserId As Long, ByVal ObjectId As Long) As EDMIServiceReference.AccessRightResult Implements EDMIServiceReference.IEDMIService.GetAccessRight
Return MyBase.Channel.GetAccessRight(UserId, ObjectId)
End Function
Public Function GetAccessRightAsync(ByVal UserId As Long, ByVal ObjectId As Long) As System.Threading.Tasks.Task(Of EDMIServiceReference.AccessRightResult) Implements EDMIServiceReference.IEDMIService.GetAccessRightAsync
Return MyBase.Channel.GetAccessRightAsync(UserId, ObjectId)
End Function
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
Function EDMIServiceReference_IEDMIService_ImportFile(ByVal request As EDMIServiceReference.DocumentImportRequest) As EDMIServiceReference.DocumentImportResponse Implements EDMIServiceReference.IEDMIService.ImportFile
Return MyBase.Channel.ImportFile(request)
@ -614,6 +626,24 @@ Namespace EDMIServiceReference
Return CType(Me,EDMIServiceReference.IEDMIService).GetFileByObjectIdAsync(inValue)
End Function
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
Function EDMIServiceReference_IEDMIService_GetFileInfoByObjectId(ByVal request As EDMIServiceReference.DocumentInfoRequest) As EDMIServiceReference.DocumentInfoResponse Implements EDMIServiceReference.IEDMIService.GetFileInfoByObjectId
Return MyBase.Channel.GetFileInfoByObjectId(request)
End Function
Public Function GetFileInfoByObjectId(ByVal ObjectId As Long, ByVal UserId As Long, <System.Runtime.InteropServices.OutAttribute()> ByRef FullPath As String) As EDMIServiceReference.RightsAccessRight
Dim inValue As EDMIServiceReference.DocumentInfoRequest = New EDMIServiceReference.DocumentInfoRequest()
inValue.ObjectId = ObjectId
inValue.UserId = UserId
Dim retVal As EDMIServiceReference.DocumentInfoResponse = CType(Me,EDMIServiceReference.IEDMIService).GetFileInfoByObjectId(inValue)
FullPath = retVal.FullPath
Return retVal.FileRight
End Function
Public Function GetFileInfoByObjectIdAsync(ByVal request As EDMIServiceReference.DocumentInfoRequest) As System.Threading.Tasks.Task(Of EDMIServiceReference.DocumentInfoResponse) Implements EDMIServiceReference.IEDMIService.GetFileInfoByObjectIdAsync
Return MyBase.Channel.GetFileInfoByObjectIdAsync(request)
End Function
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
Function EDMIServiceReference_IEDMIService_ListFilesForUser(ByVal request As EDMIServiceReference.ListFilesForUserRequest) As EDMIServiceReference.DocumentListResponse Implements EDMIServiceReference.IEDMIService.ListFilesForUser
Return MyBase.Channel.ListFilesForUser(request)

View File

@ -140,15 +140,6 @@
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetAccessRight">
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetAccessRight" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ImportFile">
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/ImportFile" style="document" />
<wsdl:input name="DocumentImportRequest">
@ -168,6 +159,15 @@
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetFileInfoByObjectId">
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/GetFileInfoByObjectId" style="document" />
<wsdl:input name="DocumentInfoRequest">
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output name="DocumentInfoResponse">
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ListFilesForUser">
<soap12:operation soapAction="http://DigitalData.Services.EDMIService/IEDMIService/ListFilesForUser" style="document" />
<wsdl:input>

View File

@ -106,10 +106,10 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.AccessRightResult.datasource">
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentImportResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentImportResponse.datasource">
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentInfoResponse.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.DocumentListResponse.datasource">
@ -121,6 +121,9 @@
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.NonQueryResult.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.RightsAccessRight.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>
<None Include="Connected Services\EDMIServiceReference\DigitalData.Modules.EDMI.API.EDMIServiceReference.ScalarResult.datasource">
<DependentUpon>Reference.svcmap</DependentUpon>
</None>

View File

@ -104,7 +104,7 @@ Public Class EDMIService
End If
Catch ex As Exception
_Logger.Error(ex)
Return New TableResult(ex.Message)
Throw New FaultException(ex.Message)
End Try
End Function
#End Region
@ -269,7 +269,7 @@ Public Class EDMIService
Dim oObjectId = MSSQL_IDB.GetScalarValue(oCommand, "@IDB_OBJ_ID")
Return New Messages.DocumentImportResponse() With {.ObjectId = oObjectId}
Return New DocumentImportResponse() With {.ObjectId = oObjectId}
Catch ex As Exception
_Logger.Error(ex)
Throw New FaultException(ex.Message)
@ -315,12 +315,15 @@ Public Class EDMIService
}
Return oMessage
Catch ex As IOException
_Logger.Error(ex)
Throw New FaultException($"Object [{Data.ObjectId}] could not be streamed!")
Catch ex As Exception
_Logger.Error(ex)
Throw New FaultException(ex.Message)
End Try
End Function
@ -333,47 +336,82 @@ Public Class EDMIService
Return New DocumentListResponse() With {
.Datatable = oDatatable
}
Catch ex As Exception
_Logger.Error(ex)
Throw New FaultException(ex.Message)
End Try
End Function
#End Region
#Region "=== Access Rights ==="
Public Function GetAccessRight(UserId As Long, ObjectId As Long) As AccessRightResult Implements IEDMIService.GetAccessRight
Public Function GetFileInfoByObjectId(Data As DocumentInfoRequest) As DocumentInfoResponse Implements IEDMIService.GetFileInfoByObjectId
Try
Dim oTableName As String = "TBIDB_ACCESSRIGHT"
Dim oAccessRight = GetAccessRight(Data.UserId, Data.ObjectId)
Dim oFullPath = GetFullPath(Data.ObjectId)
If Not GlobalState.TableStore.Tables.Contains(oTableName) Then
_Logger.Warn("GetAccessRight: Access right table does not exist!")
Return New AccessRightResult(AccessRight.VIEW_ONLY)
End If
Return New DocumentInfoResponse With {
.FileRight = oAccessRight,
.FullPath = oFullPath
}
Dim oTable As DataTable = GlobalState.TableStore.Tables.Item(oTableName)
Dim oRows As List(Of DataRow) = oTable.Select($"IDB_OBJ_ID = {ObjectId} AND USR_ID = {UserId}").ToList()
Dim oRight As AccessRight = AccessRight.VIEW_ONLY
If oRows.Count = 0 Then
_Logger.Warn("GetAccessRight: Access right assignment does not exist for user [{0}] on object [{1}]", UserId, ObjectId)
Return New AccessRightResult(AccessRight.VIEW_ONLY)
Else
If oRows.Count > 1 Then
_Logger.Warn("GetAccessRight: More than one access right assignment found for user [{0}] on object [{1}]", UserId, ObjectId)
End If
Dim oRow As DataRow = oRows.First()
Dim oRightAsInt = oRow.Item("ACCESSRIGHT")
oRight = Utils.ToEnum(Of AccessRight)(oRightAsInt)
End If
Return New AccessRightResult(oRight)
Catch ex As Exception
_Logger.Warn("GetAccessRight: Exception while getting access right for user [{0}] on object [{1}]", UserId, ObjectId)
_Logger.Error(ex)
Return New AccessRightResult(ex)
Throw New FaultException(ex.Message)
End Try
End Function
Private Function GetFullPath(ObjectId As Long) As String
Dim oTableName As String = "TBIDB_DOC_INFO"
If Not GlobalState.TableStore.Tables.Contains(oTableName) Then
_Logger.Warn("GetFullPath: Document info table does not exist!")
Return String.Empty
End If
Dim oTable As DataTable = GlobalState.TableStore.Tables.Item(oTableName)
Dim oRows As List(Of DataRow) = oTable.Select($"IDB_OBJ_ID = {ObjectId}").ToList()
Dim oFullPath As String
If oRows.Count = 0 Then
_Logger.Warn("GetFullPath: Full path does not exist for on object [{1}]", ObjectId)
oFullPath = String.Empty
Else
Dim oRow As DataRow = oRows.First()
oFullPath = oRow.Item("FULL_PATH")
End If
Return oFullPath
End Function
Private Function GetAccessRight(UserId As Long, ObjectId As Long) As AccessRight
Dim oTableName As String = "TBIDB_ACCESSRIGHT"
If Not GlobalState.TableStore.Tables.Contains(oTableName) Then
_Logger.Warn("GetAccessRight: Access right table does not exist!")
Return AccessRight.VIEW_ONLY
End If
Dim oTable As DataTable = GlobalState.TableStore.Tables.Item(oTableName)
Dim oRows As List(Of DataRow) = oTable.Select($"IDB_OBJ_ID = {ObjectId} AND USR_ID = {UserId}").ToList()
Dim oRight As AccessRight = AccessRight.VIEW_ONLY
If oRows.Count = 0 Then
_Logger.Warn("GetAccessRight: Access right assignment does not exist for user [{0}] on object [{1}]", UserId, ObjectId)
Return AccessRight.VIEW_ONLY
Else
If oRows.Count > 1 Then
_Logger.Warn("GetAccessRight: More than one access right assignment found for user [{0}] on object [{1}]", UserId, ObjectId)
End If
Dim oRow As DataRow = oRows.First()
Dim oRightAsInt = oRow.Item("ACCESSRIGHT")
oRight = Utils.ToEnum(Of AccessRight)(oRightAsInt)
End If
Return oRight
End Function
#End Region
End Class

View File

@ -50,11 +50,6 @@ Interface IEDMIService
Function ExecuteNonQuery_MSSQL_ECM(SQL As String) As NonQueryResult
#End Region
#Region "Access Rights"
<OperationContract>
Function GetAccessRight(UserId As Long, ObjectId As Long) As AccessRightResult
#End Region
#Region "Document (New)"
<OperationContract>
Function ImportFile(Data As DocumentImportRequest) As DocumentImportResponse
@ -62,6 +57,9 @@ Interface IEDMIService
<OperationContract>
Function GetFileByObjectId(Data As DocumentStreamRequest) As DocumentStreamResponse
<OperationContract>
Function GetFileInfoByObjectId(Data As DocumentInfoRequest) As DocumentInfoResponse
<OperationContract>
Function ListFilesForUser() As DocumentListResponse
#End Region

View File

@ -1,6 +1,7 @@
Imports System.IO
Imports System.Runtime.Serialization
Imports System.ServiceModel
Imports DigitalData.Modules.EDMI.API.Rights
Namespace Messages
@ -43,6 +44,26 @@ Namespace Messages
End Class
#End Region
#Region "DocumentInfo"
<MessageContract>
Public Class DocumentInfoRequest
<MessageBodyMember>
Public ObjectId As Long
<MessageBodyMember>
Public UserId As Long
End Class
<MessageContract>
Public Class DocumentInfoResponse
<MessageBodyMember>
Public FullPath As String
<MessageBodyMember>
Public FileRight As AccessRight
End Class
#End Region
#Region "DocumentList"
<MessageContract>
<KnownType(GetType(DBNull))>