2016-12-25 13:12:43 -08:00
|
|
|
Imports Newtonsoft.Json
|
|
|
|
|
|
|
|
Public Module ConfigSettingsModule
|
|
|
|
|
|
|
|
Class InfobaseSetting
|
2016-12-29 14:21:40 -08:00
|
|
|
Public ESServerName As String = ""
|
|
|
|
Public DatabaseID As String = ""
|
|
|
|
Public DatabaseName As String = ""
|
|
|
|
Public DatabaseCatalog As String = ""
|
2017-02-20 14:32:07 -08:00
|
|
|
Public StartDate As String = ""
|
2016-12-29 14:21:40 -08:00
|
|
|
Public Found As Boolean = False
|
2016-12-25 13:12:43 -08:00
|
|
|
End Class
|
|
|
|
|
2017-02-19 14:02:55 -08:00
|
|
|
Class ElasticSearchFieldSynonymsClass
|
|
|
|
Public ServerName As String
|
|
|
|
Public DatabaseName As String
|
|
|
|
Public RowID As String
|
|
|
|
Public Severity As String
|
|
|
|
Public DateTime As String
|
|
|
|
Public ConnectID As String
|
|
|
|
Public DataType As String
|
|
|
|
Public SessionNumber As String
|
|
|
|
Public DataStructure As String
|
|
|
|
Public DataString As String
|
|
|
|
Public Comment As String
|
|
|
|
Public SessionDataSplitCode As String
|
|
|
|
Public EventType As String
|
|
|
|
Public Metadata As String
|
|
|
|
Public Computer As String
|
|
|
|
Public PrimaryPort As String
|
|
|
|
Public Server As String
|
|
|
|
Public SecondaryPort As String
|
|
|
|
Public Application As String
|
|
|
|
Public UserName As String
|
2017-04-06 10:03:40 +03:00
|
|
|
Public Transaction As String
|
|
|
|
Public TransactionStatus As String
|
|
|
|
Public TransactionStartTime As String
|
2017-02-19 14:02:55 -08:00
|
|
|
End Class
|
|
|
|
|
2016-12-25 13:12:43 -08:00
|
|
|
Class ConfigSetting
|
2016-12-29 14:21:40 -08:00
|
|
|
Public ConnectionString As String = ""
|
|
|
|
Public DBType As String = ""
|
|
|
|
Public RepeatTime As Integer = 0
|
|
|
|
Public ESIndexName As String = ""
|
2017-04-15 16:37:38 -07:00
|
|
|
Public ESUseIndexPostfix As String = ""
|
2017-02-19 14:02:55 -08:00
|
|
|
Public ESUseSynonymsForFieldsNames As Boolean = False
|
|
|
|
Public ESFieldSynonyms As ElasticSearchFieldSynonymsClass
|
2016-12-25 13:12:43 -08:00
|
|
|
Public Infobases As List(Of InfobaseSetting)
|
|
|
|
Sub New()
|
|
|
|
Infobases = New List(Of InfobaseSetting)
|
2017-02-19 14:02:55 -08:00
|
|
|
ESFieldSynonyms = New ElasticSearchFieldSynonymsClass
|
2016-12-25 13:12:43 -08:00
|
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
|
|
|
|
Public Function LoadConfigSettingFromFile(ConfigFilePath As String) As ConfigSetting
|
|
|
|
|
|
|
|
If My.Computer.FileSystem.FileExists(ConfigFilePath) Then
|
|
|
|
|
|
|
|
Dim JsonText = My.Computer.FileSystem.ReadAllText(ConfigFilePath)
|
|
|
|
|
|
|
|
Dim ConfigSettingObj = JsonConvert.DeserializeObject(Of ConfigSetting)(JsonText)
|
|
|
|
|
|
|
|
Return ConfigSettingObj
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
2016-12-29 14:21:40 -08:00
|
|
|
Return New ConfigSetting
|
2016-12-25 13:12:43 -08:00
|
|
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
Public Sub SaveConfigSettingToFile(ConfigSettingObj As ConfigSetting, ConfigFilePath As String)
|
|
|
|
|
|
|
|
Dim JsonText As String = JsonConvert.SerializeObject(ConfigSettingObj, Formatting.Indented)
|
|
|
|
|
|
|
|
My.Computer.FileSystem.WriteAllText(ConfigFilePath, JsonText, False)
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
End Module
|