Files
RecordOrganizer/app/DD-Record-Organiser/ClassControlValueCache.vb
2016-03-16 16:48:19 +01:00

46 lines
1.6 KiB
VB.net

Public Class ClassControlValueCache
Private Shared Property Cache As New Dictionary(Of String, DataTable)
' ClassControlValueCache
' Ordnet SQL Queries den daraus resultierenden DataTables zu.
'
' Somit kann eine Query in der Laufzeit des Programms von mehreren Forms genutzt werden,
' muss aber nur einmal vom Server abgefragt werden.
Public Shared Function LoadFromCache(sqlCommand As String) As DataTable
' Mit ToUpper wird das Command case-insensitive,
' es ist also egal, ob die query GROSS oder klein geschrieben wird
Dim UpperCaseCommand = sqlCommand.ToUpper()
If Cache.ContainsKey(UpperCaseCommand) Then
Return Cache.Item(UpperCaseCommand)
Else
Return Nothing
End If
End Function
Public Shared Sub SaveToCache(sqlCommand As String, dt As DataTable)
Dim UpperCaseCommand = sqlCommand.ToUpper()
Cache.Item(UpperCaseCommand) = dt
End Sub
Public Shared Sub ClearCache()
Cache.Clear()
End Sub
' =========================================================================================
Private Shared Property HintCache As New Dictionary(Of Integer, String)
Public Shared Function LoadHint(controlId As Integer) As String
If HintCache.ContainsKey(controlId) Then
Return HintCache.Item(controlId)
Else
Return Nothing
End If
End Function
Public Shared Sub SaveHint(controlId As Integer, hint As String)
HintCache.Item(controlId) = hint
End Sub
End Class