EDMIService: Property Filtering/Sorting, Handle Empty Results

This commit is contained in:
Jonathan Jenne
2020-12-08 16:42:36 +01:00
parent 4c9abf3b1f
commit 502793aed5
7 changed files with 116 additions and 33 deletions

View File

@@ -131,15 +131,10 @@ Public Class Client
End Try
End Function
Public Async Function GetDatatableByNameAsync(DatatableName As String) As Task(Of DataTable)
Public Async Function GetDatatableByNameAsync(DatatableName As String, Optional FilterExpression As String = "", Optional SortByColumn As String = "") As Task(Of TableResult)
Try
Dim oResponse = Await _channel.ReturnDatatableFromCacheAsync(DatatableName)
If oResponse.OK Then
Return oResponse.Table
Else
Return Nothing
End If
Dim oResponse = Await _channel.ReturnDatatableFromCacheAsync(DatatableName, FilterExpression, SortByColumn)
Return oResponse
Catch ex As Exception
_logger.Error(ex)
Throw ex

View File

@@ -18,6 +18,8 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="FilterExpression" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="SortByColumn" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>

View File

@@ -154,11 +154,11 @@ Namespace EDMIServiceReference
<System.ServiceModel.OperationContractAttribute(Action:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCache", ReplyAction:="http://DigitalData.Services.EDMIService/IEDMIService/ReturnDatatableFromCacheResp"& _
"onse")> _
Function ReturnDatatableFromCache(ByVal Name As String) As EDMIServiceReference.TableResult
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")> _
Function ReturnDatatableFromCacheAsync(ByVal Name As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult)
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")> _
@@ -419,12 +419,12 @@ Namespace EDMIServiceReference
Return MyBase.Channel.HeartbeatAsync
End Function
Public Function ReturnDatatableFromCache(ByVal Name As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCache
Return MyBase.Channel.ReturnDatatableFromCache(Name)
Public Function ReturnDatatableFromCache(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCache
Return MyBase.Channel.ReturnDatatableFromCache(Name, FilterExpression, SortByColumn)
End Function
Public Function ReturnDatatableFromCacheAsync(ByVal Name As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCacheAsync
Return MyBase.Channel.ReturnDatatableFromCacheAsync(Name)
Public Function ReturnDatatableFromCacheAsync(ByVal Name As String, ByVal FilterExpression As String, ByVal SortByColumn As String) As System.Threading.Tasks.Task(Of EDMIServiceReference.TableResult) Implements EDMIServiceReference.IEDMIService.ReturnDatatableFromCacheAsync
Return MyBase.Channel.ReturnDatatableFromCacheAsync(Name, FilterExpression, SortByColumn)
End Function
Public Function ReturnDatatable_Firebird(ByVal SQL As String) As EDMIServiceReference.TableResult Implements EDMIServiceReference.IEDMIService.ReturnDatatable_Firebird