From f3560c60c7cd2595cef79c05cc4db7bad9227238 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 12 Jan 2022 10:41:14 +0100 Subject: [PATCH] EDMIService: Add GetCachedTables --- Service.EDMIService/EDMIService.vb | 15 ++++++++++++--- Service.EDMIService/GlobalState.vb | 16 ++++++++++++++++ Service.EDMIService/IEDMIService.vb | 9 ++++++--- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/Service.EDMIService/EDMIService.vb b/Service.EDMIService/EDMIService.vb index 899aa936..6f21b5c6 100644 --- a/Service.EDMIService/EDMIService.vb +++ b/Service.EDMIService/EDMIService.vb @@ -91,7 +91,16 @@ Public Class EDMIService #End Region #Region "=== Database ===" - Public Function ReturnDatatableFromCache(Name As String, FilterExpression As String, SortByColumn As String) As TableResult Implements IEDMIService.ReturnDatatableFromCache + Public Function GetCachedTables() As List(Of String) Implements IEDMIService.GetCachedTables + Try + Return GlobalState.GetCachedTables() + Catch ex As Exception + _Logger.Error(ex) + Return New List(Of String) + End Try + End Function + + Public Function GetDatatableFromCache(Name As String, FilterExpression As String, SortByColumn As String) As TableResult Implements IEDMIService.GetDatatableFromCache Dim oReturnDatatableFromCache As New GetDatatableFromCache.GetDatatableFromCacheMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState) Dim oResult = oReturnDatatableFromCache.Run(New GetDatatableFromCache.GetDatatableFromCacheRequest With { .DataTable = Name, @@ -106,13 +115,13 @@ Public Class EDMIService End If End Function - Public Function ReturnDatatable(pData As GetDatatable.GetDatatableRequest) As GetDatatable.GetDatatableResponse Implements IEDMIService.ReturnDatatable + Public Function GetDatatable(pData As GetDatatable.GetDatatableRequest) As GetDatatable.GetDatatableResponse Implements IEDMIService.GetDatatable _Logger.Debug("Start of Method [ReturnDatatable]") Dim oGetDatatable As New GetDatatable.GetDatatableMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState) Return oGetDatatable.Run(pData) End Function - Public Function ReturnScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse Implements IEDMIService.ReturnScalarValue + Public Function GetScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse Implements IEDMIService.GetScalarValue _Logger.Debug("Start of Method [ReturnScalarValue]") Dim oGetScalarValue As New GetScalarValue.GetScalarValueMethod(LogConfig, MSSQL_IDB, MSSQL_ECM, GlobalState) Return oGetScalarValue.Run(pData) diff --git a/Service.EDMIService/GlobalState.vb b/Service.EDMIService/GlobalState.vb index fd1a32dc..6e8e8143 100644 --- a/Service.EDMIService/GlobalState.vb +++ b/Service.EDMIService/GlobalState.vb @@ -33,6 +33,22 @@ Public Class GlobalState FirstOrDefault() End Function + Public Function GetCachedTables() As List(Of String) + Try + Dim oTables As DataTableCollection = TableStore.Tables + Dim oList As New List(Of String) + + For Each oTable As DataTable In oTables + oList.Add(oTable.TableName) + Next + + Return oList + Catch ex As Exception + _Logger.Error(ex) + Return New List(Of String) + End Try + End Function + Public Function GetConnectionString(pConnectionId As Long) As String Dim oConnection = GetConnection(pConnectionId) Dim oBuilder As New SqlConnectionStringBuilder With { diff --git a/Service.EDMIService/IEDMIService.vb b/Service.EDMIService/IEDMIService.vb index 3608ad70..b99619a4 100644 --- a/Service.EDMIService/IEDMIService.vb +++ b/Service.EDMIService/IEDMIService.vb @@ -15,16 +15,19 @@ Interface IEDMIService #End Region #Region "Database" + + Function GetCachedTables() As List(Of String) + - Function ReturnDatatableFromCache(Name As String, FilterExpression As String, SortByColumn As String) As TableResult + Function GetDatatableFromCache(Name As String, FilterExpression As String, SortByColumn As String) As TableResult - Function ReturnDatatable(pData As GetDatatable.GetDatatableRequest) As GetDatatable.GetDatatableResponse + Function GetDatatable(pData As GetDatatable.GetDatatableRequest) As GetDatatable.GetDatatableResponse - Function ReturnScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse + Function GetScalarValue(pData As GetScalarValue.GetScalarValueRequest) As GetScalarValue.GetScalarValueResponse #End Region #Region "Database (Firebird)"