diff --git a/app/DD_PM_WINDREAM/ModuleMySettings.vb b/app/DD_PM_WINDREAM/ModuleMySettings.vb
index 90830ae..6ac990d 100644
--- a/app/DD_PM_WINDREAM/ModuleMySettings.vb
+++ b/app/DD_PM_WINDREAM/ModuleMySettings.vb
@@ -2,7 +2,9 @@
Imports System.Xml
Module ModuleMySettings
- Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
+ 'Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
+ Public Const CONFIG_FILE = "UserConfig.xml"
+
Public MyConnectionString As String = ""
Public UniversalViewer As String = ""
Public PDFXChangeViewer As String = ""
@@ -23,173 +25,188 @@ Module ModuleMySettings
Public vFILE_DELIMITER As String = "_"
Public WMSESSION_STARTSTOP_STARTUP As Boolean = False
+ Public Function GetUserConfigPath() As String
+ Return Path.Combine(Application.UserAppDataPath(), CONFIG_FILE)
+ End Function
+
+ Public Function GetAllUsersConfigPath() As String
+ Return Path.Combine(Application.CommonAppDataPath(), CONFIG_FILE)
+ End Function
+
Public Function Settings_Load()
Try
- Dim DT As DataTable
- 'if file doesn't exist, create the file with its default xml table
- If Not File.Exists(ConfigPath) Then
- DT = CreateConfigTable()
- DT.WriteXml(ConfigPath)
+ Dim oDatatable As DataTable
+ ' if file in %APPDATA% doesn't exist,
+ ' check for file in %ALLUSERSPROFILE%,
+ ' otherwise create the file with its default xml table
+ If File.Exists(GetUserConfigPath()) Then
+ oDatatable = GetTablefromXML(GetUserConfigPath())
+ ElseIf File.Exists(GetAllUsersConfigPath()) Then
+ oDatatable = GetTablefromXML(GetAllUsersConfigPath())
+ Else
+ oDatatable = CreateConfigTable()
+ oDatatable.WriteXml(GetUserConfigPath())
End If
- DT = GetTablefromXML()
- For Each Row As DataRow In DT.Rows
- Select Case Row.Item("ConfigName")
+
+ For Each oRow As DataRow In oDatatable.Rows
+ Select Case oRow.Item("ConfigName")
Case "MyConnectionString"
- Dim connstring As String
+ Dim oConnectionString As String
'Den ConnectonString mit verschlüsseltem PW laden
- Dim csb As New SqlClient.SqlConnectionStringBuilder
- csb.ConnectionString = Row.Item("Value")
- If Not csb.ConnectionString = "" Then
- If csb.ConnectionString.Contains("Password=") Then
+ Dim oBuilder As New SqlClient.SqlConnectionStringBuilder
+ oBuilder.ConnectionString = oRow.Item("Value")
+ If Not oBuilder.ConnectionString = "" Then
+ If oBuilder.ConnectionString.Contains("Password=") Then
'sa-
'Jetzt das Passwort entschlüsseln
Dim PWplainText As String
Dim wrapper As New ClassEncryption("!35452didalog=")
' DecryptData throws if the wrong password is used.
Try
- PWplainText = wrapper.DecryptData(csb.Password)
+ PWplainText = wrapper.DecryptData(oBuilder.Password)
Catch ex As Exception
- ClassLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False)
- PWplainText = csb.Password
+ ClassLogger.Add("- the Password '" & oBuilder.Password & "' could not be decrypted", False)
+ PWplainText = oBuilder.Password
End Try
- connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText)
+ oConnectionString = oRow.Item("Value").ToString.Replace(oBuilder.Password, PWplainText)
Else
'Windows-Auth
- connstring = Row.Item("Value").ToString
+ oConnectionString = oRow.Item("Value").ToString
End If
- MyConnectionString = connstring
+ MyConnectionString = oConnectionString
ClassDatabase.Init()
Else
MyConnectionString = ""
End If
Case "LogErrorsOnly"
- LogErrorsOnly = CBool(Row.Item("Value"))
+ LogErrorsOnly = CBool(oRow.Item("Value"))
Case "UniversalViewer"
- UniversalViewer = Row.Item("Value")
+ UniversalViewer = oRow.Item("Value")
Case "PDFXChangeViewer"
- PDFXChangeViewer = Row.Item("Value")
+ PDFXChangeViewer = oRow.Item("Value")
Case "PDFViewer_ZoomMode"
- PDFViewer_ZoomMode = Row.Item("Value")
+ PDFViewer_ZoomMode = oRow.Item("Value")
Case "vpdfviewer"
- vpdfviewer = Row.Item("Value")
+ vpdfviewer = oRow.Item("Value")
Case "Viewer"
- Viewer = Row.Item("Value")
+ Viewer = oRow.Item("Value")
Case "SumatraViewer"
- SumatraViewer = Row.Item("Value")
+ SumatraViewer = oRow.Item("Value")
Case "IDX_DMS_ERSTELLT"
- IDX_DMS_ERSTELLT = Row.Item("Value")
+ IDX_DMS_ERSTELLT = oRow.Item("Value")
Case "IDX_DMS_ERSTELLT_ZEIT"
- IDX_DMS_ERSTELLT_ZEIT = Row.Item("Value")
+ IDX_DMS_ERSTELLT_ZEIT = oRow.Item("Value")
Case "USRMNGRPATH"
- USRMNGRPATH = Row.Item("Value")
+ USRMNGRPATH = oRow.Item("Value")
End Select
Next
+ Return True
Catch ex As Exception
MsgBox("Error in LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
- Return True
-
End Function
- Private Function GetTablefromXML()
+ Private Function GetTablefromXML(ConfigPath As String)
Try
- Dim DS As New DataSet
- DS.ReadXml(ConfigPath)
- Return DS.Tables(0)
+ Dim oDataset As New DataSet
+ oDataset.ReadXml(ConfigPath)
+ Return oDataset.Tables(0)
Catch ex As Exception
MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
-
End Function
Private Function CreateConfigTable() As DataTable
Try
' Create sample Customers table, in order
' to demonstrate the behavior of the DataTableReader.
- Dim table As New DataTable
- table.TableName = "MyConfig"
+ Dim oTable As New DataTable
+ oTable.TableName = "MyConfig"
' Create two columns, ID and Name.
- Dim idColumn As DataColumn = table.Columns.Add("ID", _
+ Dim oIdColumn As DataColumn = oTable.Columns.Add("ID",
GetType(System.Int32))
- idColumn.AutoIncrement = True
- idColumn.AutoIncrementSeed = 0
- idColumn.AutoIncrementStep = 1
- table.Columns.Add("ConfigName", GetType(System.String))
- table.Columns.Add("Value", GetType(System.String))
+ oIdColumn.AutoIncrement = True
+ oIdColumn.AutoIncrementSeed = 0
+ oIdColumn.AutoIncrementStep = 1
+ oTable.Columns.Add("ConfigName", GetType(System.String))
+ oTable.Columns.Add("Value", GetType(System.String))
'Set the ID column as the primary key column.
- table.PrimaryKey = New DataColumn() {idColumn}
- Dim newRow As DataRow = table.NewRow()
+ oTable.PrimaryKey = New DataColumn() {oIdColumn}
+ Dim newRow As DataRow = oTable.NewRow()
newRow("ConfigName") = "MyConnectionString"
newRow("Value") = ""
- table.Rows.Add(newRow)
- Dim newRow1 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow)
+ Dim newRow1 As DataRow = oTable.NewRow()
newRow1("ConfigName") = "LogErrorsOnly"
newRow1("Value") = "True"
- table.Rows.Add(newRow1)
- Dim newRow2 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow1)
+ Dim newRow2 As DataRow = oTable.NewRow()
newRow2("ConfigName") = "UniversalViewer"
newRow2("Value") = ""
- table.Rows.Add(newRow2)
- Dim newRow3 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow2)
+ Dim newRow3 As DataRow = oTable.NewRow()
newRow3("ConfigName") = "PDFXChangeViewer"
newRow3("Value") = ""
- table.Rows.Add(newRow3)
- Dim newRow7 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow3)
+ Dim newRow7 As DataRow = oTable.NewRow()
newRow7("ConfigName") = "SumatraViewer"
newRow7("Value") = ""
- table.Rows.Add(newRow7)
- Dim newRow4 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow7)
+ Dim newRow4 As DataRow = oTable.NewRow()
newRow4("ConfigName") = "PDFViewer_ZoomMode"
newRow4("Value") = "3"
- table.Rows.Add(newRow4)
- Dim newRow5 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow4)
+ Dim newRow5 As DataRow = oTable.NewRow()
newRow5("ConfigName") = "vpdfviewer"
newRow5("Value") = "internal"
- table.Rows.Add(newRow5)
- Dim newRow6 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow5)
+ Dim newRow6 As DataRow = oTable.NewRow()
newRow6("ConfigName") = "Viewer"
newRow6("Value") = "docview"
- table.Rows.Add(newRow6)
- Dim newRow8 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow6)
+ Dim newRow8 As DataRow = oTable.NewRow()
newRow8("ConfigName") = "IDX_DMS_ERSTELLT"
newRow8("Value") = "DMS erstellt"
- table.Rows.Add(newRow8)
- Dim newRow9 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow8)
+ Dim newRow9 As DataRow = oTable.NewRow()
newRow9("ConfigName") = "IDX_DMS_ERSTELLT_ZEIT"
newRow9("Value") = "DMS erstellt (Zeit)"
- table.Rows.Add(newRow9)
- Dim newRow10 As DataRow = table.NewRow()
+ oTable.Rows.Add(newRow9)
+ Dim newRow10 As DataRow = oTable.NewRow()
newRow10("ConfigName") = "USRMNGRPATH"
newRow10("Value") = ""
- table.Rows.Add(newRow10)
- table.AcceptChanges()
- Return table
+ oTable.Rows.Add(newRow10)
+ oTable.AcceptChanges()
+ Return oTable
Catch ex As Exception
MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
+
+ '''
+ ''' Save settings to user config, NOT to common config
+ '''
Public Function SaveMySettingsValue(name As String, value As String)
Try
- Dim DT As DataTable
- DT = GetTablefromXML()
+ Dim oConfigPath = GetUserConfigPath()
+ Dim oDatatable As DataTable = GetTablefromXML(oConfigPath)
- For Each Row As DataRow In DT.Rows
+ For Each Row As DataRow In oDatatable.Rows
If Row.Item("ConfigName") = name Then
Row.Item("Value") = value
End If
Next
- DT.AcceptChanges()
- DT.WriteXml(ConfigPath)
+ oDatatable.AcceptChanges()
+ oDatatable.WriteXml(oConfigPath)
+ Return True
Catch ex As Exception
MsgBox("Error in SaveConfigValue" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
- Return True
-
End Function
End Module
diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
index 01ad200..2d9229d 100644
--- a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
+++ b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
+
diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb
index d15336c..e39d587 100644
--- a/app/DD_PM_WINDREAM/frmMain.vb
+++ b/app/DD_PM_WINDREAM/frmMain.vb
@@ -35,7 +35,7 @@ Public Class frmMain
Catch ex As Exception
ClassLogger.Add("Error in Save FormLayout: " & ex.Message)
End Try
- If WINDREAM.oSession.aLoggedin = True Then
+ If WINDREAM?.oSession?.aLoggedin = True Then
WINDREAM.Stop_WMCC_andCo()
End If
'If _windreamPM.oSession.aLoggedin = True Then