EDMIService: Add Quartz Scheduler, Add Caching for Datatables

This commit is contained in:
Jonathan Jenne
2020-12-07 16:41:46 +01:00
parent 96c4ce1abc
commit 87f5c3887e
10 changed files with 334 additions and 6 deletions

View File

@@ -19,6 +19,7 @@ Public Class EDMIService
Public Shared Filesystem As Filesystem.File
Public Shared EDMIArchive As EDMI.File.Archive
Public Shared GlobalState As GlobalState
Public Shared Scheduler As Scheduler
Private ReadOnly _logger As Logger
@@ -64,6 +65,28 @@ Public Class EDMIService
End Function
#End Region
#Region "Database"
Public Function ReturnDatatableFromCache(Name As String) As TableResult Implements IEDMIService.ReturnDatatableFromCache
Try
Dim oSql = ""
_logger.Info($"ReturnDatatableFromCache, SQL: {oSql}")
Dim oDataset As DataSet = Scheduler.DataSet
Dim oDataTable As DataTable = Nothing
If oDataset.Tables.Contains(Name) Then
oDataTable = oDataset.Tables.Item(Name)
Else
Throw New ApplicationException($"DataTable {Name} does not exist")
End If
Return New TableResult(oDataTable)
Catch ex As Exception
_logger.Error(ex)
Return New TableResult(ex.Message)
End Try
End Function
#End Region
#Region "=== Database (MSSQL IDB) ==="
Public Function ReturnDatatable_MSSQL_IDB(SQL As String) As TableResult Implements IEDMIService.ReturnDatatable_MSSQL_IDB
Try