diff --git a/DDUserManager/DDUserManager/DDUserManager.vbproj b/DDUserManager/DDUserManager/DDUserManager.vbproj
index 2f4c0b9..54bbca7 100644
--- a/DDUserManager/DDUserManager/DDUserManager.vbproj
+++ b/DDUserManager/DDUserManager/DDUserManager.vbproj
@@ -51,6 +51,9 @@
user.ico
+
+ P:\Visual Studio Projekte\Bibliotheken\DD_LIB_Standards.dll
+
@@ -92,6 +95,12 @@
+
+ frmConfigDatabase.vb
+
+
+ Form
+
frmADImport_Groups.vb
@@ -111,6 +120,7 @@
frmMain.vb
Form
+
True
@@ -136,6 +146,9 @@
+
+ frmConfigDatabase.vb
+
frmADImport_Groups.vb
diff --git a/DDUserManager/DDUserManager/ModuleRuntime.vb b/DDUserManager/DDUserManager/ModuleRuntime.vb
new file mode 100644
index 0000000..70f1886
--- /dev/null
+++ b/DDUserManager/DDUserManager/ModuleRuntime.vb
@@ -0,0 +1,248 @@
+Imports System.IO
+Imports DD_LIB_Standards
+
+Module ModuleRuntime
+ Public MyConnectionString As String
+ Public ConfigPath As String = Path.Combine(Application.UserAppDataPath, "UserConfig.xml")
+ Public rowresult
+
+ Public Function SaveMySettingsValue(name As String, value As String, type As String)
+ Try
+ Dim DT As DataTable
+ If type = "ConfigMain" Then
+ DT = GetTablefromXML(ConfigPath)
+ End If
+
+ If Not DT Is Nothing Then
+ For Each Row As DataRow In DT.Rows
+ If Row.Item("ConfigName") = name Then
+ Row.Item("Value") = value
+ End If
+ Next
+ DT.AcceptChanges()
+ DT.WriteXml(ConfigPath)
+ Else
+ MsgBox("Setting could not be saved! Check logfile.", MsgBoxStyle.Critical)
+ End If
+
+ Catch ex As Exception
+ MsgBox("Error in SaveConfigValue" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ Return False
+ End Try
+ Return True
+
+ End Function
+
+ Private Function GetTablefromXML(path As String)
+ Try
+ Dim DS As New DataSet
+ DS.ReadXml(path)
+ Return DS.Tables(0)
+ Catch ex As Exception
+ MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message & vbNewLine & "ConfigPath: " & vbNewLine & path, MsgBoxStyle.Critical)
+ clsLogger.Add("Error in GetTablefromXML: " & ex.Message, True)
+ clsLogger.Add(">> ConfigPath: " & ConfigPath, False)
+ Return Nothing
+ End Try
+ End Function
+
+ Public Function MySettings_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
+ clsLogger.Add(">> ConfigFile was created in: " & ConfigPath, False)
+ DT = CreateConfigTable()
+ DT.WriteXml(ConfigPath)
+ clsLogger.Add(">> Defaultvalues were saved.", False)
+ End If
+ DT = GetTablefromXML(ConfigPath)
+ If DT Is Nothing Then
+ MsgBox("Configuration could not be loaded!! Check LogFile!", MsgBoxStyle.Critical)
+ Return False
+ End If
+ For Each Row As DataRow In DT.Rows
+ rowresult &= Row.Item("ConfigName")
+ Select Case Row.Item("ConfigName")
+ Case "MyConnectionString"
+ Dim connstring 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
+ 'sa-
+ 'Jetzt das Passwort entschlüsseln
+ Dim PWplainText As String
+ Dim wrapper As New clsEncryption("!35452didalog=")
+ ' DecryptData throws if the wrong password is used.
+ Try
+ PWplainText = wrapper.DecryptData(csb.Password)
+ connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText)
+ Catch ex As Exception
+ clsLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False)
+ connstring = ""
+ End Try
+
+ Else
+ 'Windows-Auth
+ connstring = Row.Item("Value").ToString
+ End If
+
+ MyConnectionString = connstring
+ Else
+ MyConnectionString = ""
+ End If
+
+ End Select
+ Next
+ 'update 1.1
+ If rowresult.Contains("WD_ShowDocs") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "WD_ShowDocs"
+ newRow("Value") = "False"
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("Sett_ConstructorStart") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "Sett_ConstructorStart"
+ newRow("Value") = "0"
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("FWSCAN_started") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "FWSCAN_started"
+ newRow("Value") = "False"
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("Task_Popup_minutes") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "Task_Popup_minutes"
+ newRow("Value") = "2"
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("PATH_ADDON") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "PATH_ADDON"
+ newRow("Value") = ""
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("MyProxyConnectionString") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "MyProxyConnectionString"
+ newRow("Value") = ""
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("MyLinkedServer") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "MyLinkedServer"
+ newRow("Value") = ""
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+ If rowresult.Contains("MyFormsDesign") = False Then
+ Dim newRow As DataRow = DT.NewRow()
+ newRow("ConfigName") = "MyFormsDesign"
+ newRow("Value") = ""
+ DT.Rows.Add(newRow)
+ DT.WriteXml(ConfigPath)
+ End If
+
+
+ Catch ex As Exception
+ MsgBox("Error in LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ clsLogger.Add("Error in LoadMyConfig: " & ex.Message, True)
+ Return False
+ End Try
+ Return True
+
+ 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"
+
+ ' Create two columns, ID and Name.
+ Dim idColumn As DataColumn = table.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))
+ 'Set the ID column as the primary key column.
+ table.PrimaryKey = New DataColumn() {idColumn}
+ Dim newRow As DataRow = table.NewRow()
+ newRow("ConfigName") = "MyConnectionString"
+ newRow("Value") = ""
+ table.Rows.Add(newRow)
+ Dim newRow1 As DataRow = table.NewRow()
+ newRow1("ConfigName") = "LogErrorsOnly"
+ newRow1("Value") = "True"
+ table.Rows.Add(newRow1)
+ Dim newRow2 As DataRow = table.NewRow()
+ newRow2("ConfigName") = "Sett_TaskOverviewKeepInFront"
+ newRow2("Value") = "True"
+ table.Rows.Add(newRow2)
+ Dim newRow3 As DataRow = table.NewRow()
+ newRow3("ConfigName") = "Sett_LoadWD_Docs"
+ newRow3("Value") = "True"
+ table.Rows.Add(newRow3)
+ Dim newRow7 As DataRow = table.NewRow()
+ newRow7("ConfigName") = "WD_IndexDeleteDocs"
+ newRow7("Value") = "False"
+ table.Rows.Add(newRow7)
+ Dim newRow8 As DataRow = table.NewRow()
+ newRow8("ConfigName") = "WD_ShowDocs"
+ newRow8("Value") = "False"
+ table.Rows.Add(newRow8)
+ Dim newRow9 As DataRow = table.NewRow()
+ newRow9("ConfigName") = "Sett_ConstructorStart"
+ newRow9("Value") = "0"
+ table.Rows.Add(newRow9)
+ Dim newRow10 As DataRow = table.NewRow()
+ newRow10("ConfigName") = "FWSCAN_started"
+ newRow10("Value") = "False"
+ table.Rows.Add(newRow10)
+ Dim newRow11 As DataRow = table.NewRow()
+ newRow11("ConfigName") = "Task_Popup_minutes"
+ newRow11("Value") = "2"
+ table.Rows.Add(newRow11)
+ Dim newRow12 As DataRow = table.NewRow()
+ newRow12("ConfigName") = "WAN_ENVIRONMENT"
+ newRow12("Value") = "False"
+ table.Rows.Add(newRow12)
+ Dim newRow13 As DataRow = table.NewRow()
+ newRow13("ConfigName") = "PATH_ADDON"
+ newRow13("Value") = ""
+ Dim newRow14 As DataRow = table.NewRow()
+ newRow14("ConfigName") = "MyProxyConnectionString"
+ newRow14("Value") = ""
+ table.Rows.Add(newRow14)
+ Dim newRow15 As DataRow = table.NewRow()
+ newRow15("ConfigName") = "MyLinkedServer"
+ newRow15("Value") = ""
+ table.Rows.Add(newRow15)
+ Dim newRow16 As DataRow = table.NewRow()
+ newRow16("ConfigName") = "MyFormsDesign"
+ newRow16("Value") = ""
+
+ table.AcceptChanges()
+ clsLogger.Add(">> CreateConfigTable su...", False)
+ Return table
+ Catch ex As Exception
+ MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ Return Nothing
+ End Try
+ End Function
+End Module
diff --git a/DDUserManager/DDUserManager/frmConfigDatabase.Designer.vb b/DDUserManager/DDUserManager/frmConfigDatabase.Designer.vb
new file mode 100644
index 0000000..45b462c
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmConfigDatabase.Designer.vb
@@ -0,0 +1,265 @@
+ _
+Partial Class frmConfigDatabase
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmConfigDatabase))
+ Me.lblLinkedServer = New System.Windows.Forms.Label()
+ Me.txtLinkedServer = New System.Windows.Forms.TextBox()
+ Me.rbConn_Proxy = New System.Windows.Forms.RadioButton()
+ Me.rbConnDefault = New System.Windows.Forms.RadioButton()
+ Me.chkbxUserAut = New System.Windows.Forms.CheckBox()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.cmbDatenbank = New System.Windows.Forms.ComboBox()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.txtActualConnection = New System.Windows.Forms.TextBox()
+ Me.txtServer = New System.Windows.Forms.TextBox()
+ Me.txtUser = New System.Windows.Forms.TextBox()
+ Me.txtPasswort = New System.Windows.Forms.TextBox()
+ Me.BtnConnect = New System.Windows.Forms.Button()
+ Me.btndeleteProxy = New System.Windows.Forms.Button()
+ Me.SuspendLayout()
+ '
+ 'lblLinkedServer
+ '
+ Me.lblLinkedServer.AutoSize = True
+ Me.lblLinkedServer.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.lblLinkedServer.Location = New System.Drawing.Point(9, 180)
+ Me.lblLinkedServer.Name = "lblLinkedServer"
+ Me.lblLinkedServer.Size = New System.Drawing.Size(116, 13)
+ Me.lblLinkedServer.TabIndex = 69
+ Me.lblLinkedServer.Text = "Name/IP Proxy-Server:"
+ Me.lblLinkedServer.Visible = False
+ '
+ 'txtLinkedServer
+ '
+ Me.txtLinkedServer.Location = New System.Drawing.Point(12, 196)
+ Me.txtLinkedServer.Name = "txtLinkedServer"
+ Me.txtLinkedServer.Size = New System.Drawing.Size(288, 20)
+ Me.txtLinkedServer.TabIndex = 68
+ Me.txtLinkedServer.Visible = False
+ '
+ 'rbConn_Proxy
+ '
+ Me.rbConn_Proxy.AutoSize = True
+ Me.rbConn_Proxy.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.rbConn_Proxy.Location = New System.Drawing.Point(144, 18)
+ Me.rbConn_Proxy.Name = "rbConn_Proxy"
+ Me.rbConn_Proxy.Size = New System.Drawing.Size(108, 17)
+ Me.rbConn_Proxy.TabIndex = 66
+ Me.rbConn_Proxy.Text = "Proxy Connection"
+ Me.rbConn_Proxy.UseVisualStyleBackColor = True
+ '
+ 'rbConnDefault
+ '
+ Me.rbConnDefault.AutoSize = True
+ Me.rbConnDefault.Checked = True
+ Me.rbConnDefault.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.rbConnDefault.Location = New System.Drawing.Point(12, 18)
+ Me.rbConnDefault.Name = "rbConnDefault"
+ Me.rbConnDefault.Size = New System.Drawing.Size(116, 17)
+ Me.rbConnDefault.TabIndex = 65
+ Me.rbConnDefault.TabStop = True
+ Me.rbConnDefault.Text = "Default Connection"
+ Me.rbConnDefault.UseVisualStyleBackColor = True
+ '
+ 'chkbxUserAut
+ '
+ Me.chkbxUserAut.AutoSize = True
+ Me.chkbxUserAut.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.chkbxUserAut.Location = New System.Drawing.Point(514, 60)
+ Me.chkbxUserAut.Name = "chkbxUserAut"
+ Me.chkbxUserAut.Size = New System.Drawing.Size(151, 17)
+ Me.chkbxUserAut.TabIndex = 64
+ Me.chkbxUserAut.Text = "Windows-Authentifizierung"
+ Me.chkbxUserAut.UseVisualStyleBackColor = True
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.Label5.Location = New System.Drawing.Point(9, 139)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(135, 13)
+ Me.Label5.TabIndex = 63
+ Me.Label5.Text = "Aktueller ConnectionString:"
+ '
+ 'cmbDatenbank
+ '
+ Me.cmbDatenbank.FormattingEnabled = True
+ Me.cmbDatenbank.Location = New System.Drawing.Point(12, 106)
+ Me.cmbDatenbank.Name = "cmbDatenbank"
+ Me.cmbDatenbank.Size = New System.Drawing.Size(288, 21)
+ Me.cmbDatenbank.TabIndex = 56
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.Label4.Location = New System.Drawing.Point(9, 86)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(63, 13)
+ Me.Label4.TabIndex = 61
+ Me.Label4.Text = "Datenbank:"
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.Label1.Location = New System.Drawing.Point(9, 38)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(72, 13)
+ Me.Label1.TabIndex = 58
+ Me.Label1.Text = "Server-Name:"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.Label2.Location = New System.Drawing.Point(303, 38)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(78, 13)
+ Me.Label2.TabIndex = 59
+ Me.Label2.Text = "Benutzername:"
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.Label3.Location = New System.Drawing.Point(427, 38)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(53, 13)
+ Me.Label3.TabIndex = 60
+ Me.Label3.Text = "Passwort:"
+ '
+ 'txtActualConnection
+ '
+ Me.txtActualConnection.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.txtActualConnection.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.txtActualConnection.Location = New System.Drawing.Point(12, 155)
+ Me.txtActualConnection.Name = "txtActualConnection"
+ Me.txtActualConnection.ReadOnly = True
+ Me.txtActualConnection.Size = New System.Drawing.Size(457, 20)
+ Me.txtActualConnection.TabIndex = 62
+ '
+ 'txtServer
+ '
+ Me.txtServer.ForeColor = System.Drawing.SystemColors.WindowText
+ Me.txtServer.Location = New System.Drawing.Point(12, 58)
+ Me.txtServer.Name = "txtServer"
+ Me.txtServer.Size = New System.Drawing.Size(288, 20)
+ Me.txtServer.TabIndex = 53
+ '
+ 'txtUser
+ '
+ Me.txtUser.ForeColor = System.Drawing.SystemColors.WindowText
+ Me.txtUser.Location = New System.Drawing.Point(306, 58)
+ Me.txtUser.Name = "txtUser"
+ Me.txtUser.Size = New System.Drawing.Size(118, 20)
+ Me.txtUser.TabIndex = 54
+ '
+ 'txtPasswort
+ '
+ Me.txtPasswort.ForeColor = System.Drawing.SystemColors.WindowText
+ Me.txtPasswort.Location = New System.Drawing.Point(430, 58)
+ Me.txtPasswort.Name = "txtPasswort"
+ Me.txtPasswort.Size = New System.Drawing.Size(64, 20)
+ Me.txtPasswort.TabIndex = 55
+ Me.txtPasswort.UseSystemPasswordChar = True
+ '
+ 'BtnConnect
+ '
+ Me.BtnConnect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.BtnConnect.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.BtnConnect.Location = New System.Drawing.Point(306, 102)
+ Me.BtnConnect.Name = "BtnConnect"
+ Me.BtnConnect.Size = New System.Drawing.Size(253, 25)
+ Me.BtnConnect.TabIndex = 57
+ Me.BtnConnect.Text = "Verbindung zur Datenbank herstellen"
+ Me.BtnConnect.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.BtnConnect.UseVisualStyleBackColor = True
+ '
+ 'btndeleteProxy
+ '
+ Me.btndeleteProxy.Image = CType(resources.GetObject("btndeleteProxy.Image"), System.Drawing.Image)
+ Me.btndeleteProxy.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.btndeleteProxy.ImeMode = System.Windows.Forms.ImeMode.NoControl
+ Me.btndeleteProxy.Location = New System.Drawing.Point(562, 153)
+ Me.btndeleteProxy.Name = "btndeleteProxy"
+ Me.btndeleteProxy.Size = New System.Drawing.Size(97, 23)
+ Me.btndeleteProxy.TabIndex = 67
+ Me.btndeleteProxy.Text = "Lösche Proxy"
+ Me.btndeleteProxy.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.btndeleteProxy.UseVisualStyleBackColor = True
+ Me.btndeleteProxy.Visible = False
+ '
+ 'frmConfigDatabase
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(710, 235)
+ Me.Controls.Add(Me.lblLinkedServer)
+ Me.Controls.Add(Me.txtLinkedServer)
+ Me.Controls.Add(Me.btndeleteProxy)
+ Me.Controls.Add(Me.rbConn_Proxy)
+ Me.Controls.Add(Me.rbConnDefault)
+ Me.Controls.Add(Me.chkbxUserAut)
+ Me.Controls.Add(Me.Label5)
+ Me.Controls.Add(Me.cmbDatenbank)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.Label3)
+ Me.Controls.Add(Me.txtActualConnection)
+ Me.Controls.Add(Me.txtServer)
+ Me.Controls.Add(Me.txtUser)
+ Me.Controls.Add(Me.txtPasswort)
+ Me.Controls.Add(Me.BtnConnect)
+ Me.Name = "frmConfigDatabase"
+ Me.Text = "ConfigDatabase"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents lblLinkedServer As Label
+ Friend WithEvents txtLinkedServer As TextBox
+ Friend WithEvents btndeleteProxy As Button
+ Friend WithEvents rbConn_Proxy As RadioButton
+ Friend WithEvents rbConnDefault As RadioButton
+ Friend WithEvents chkbxUserAut As CheckBox
+ Friend WithEvents Label5 As Label
+ Friend WithEvents cmbDatenbank As ComboBox
+ Friend WithEvents Label4 As Label
+ Friend WithEvents Label1 As Label
+ Friend WithEvents Label2 As Label
+ Friend WithEvents Label3 As Label
+ Friend WithEvents txtActualConnection As TextBox
+ Friend WithEvents txtServer As TextBox
+ Friend WithEvents txtUser As TextBox
+ Friend WithEvents txtPasswort As TextBox
+ Friend WithEvents BtnConnect As Button
+End Class
diff --git a/DDUserManager/DDUserManager/frmConfigDatabase.resx b/DDUserManager/DDUserManager/frmConfigDatabase.resx
new file mode 100644
index 0000000..4cc4549
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmConfigDatabase.resx
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACLUlE
+ QVQ4T52TvY/ScBjHuVIRKHA9JAgnL+VoC7TX0kLLS6EvFBTa0uj5J7gYF+PsfpOTMrg4ORgHY+LCYJwc
+ TYyJiYuDLu7GxHgxd/Hnr5fA8TZcrsmnzfN9nufTNPnVBwDw2ZYljGzr3ciyTNu2EC87L75eb+DvD67f
+ hU9g9vt/HNs5cMaOf9Owohro7YNbe8PhjfuzzBOgkDuabk6bbRXoxuBkNLIeus6yhKyIwY5umo5tHxmG
+ +Wwu8G5QkIa0jN5gqnR1oOkGuOk6b1x3jHl9uaWGhpb1UtXNY1luPmJ4KbIkmAElAcgD3egfa5oJxq77
+ oq3ovKJoE7XbBbwoTWhG2F7cWRJ4dFR1S9fNCvykT41mB9TqjSOxXvtJM9zrYokLrc4vFYtUBcngq9Lf
+ tqICvlr7RhQr8U1za4FHXZIIurT/mePFf1AEJLkFGJb7uml2LRBrcp4us1+g4KRcYV8lkmkplyenglgH
+ VIm9tzq/VJRZLpUlih9yBQrAt79Pp3bjkVgM244nsPwe/VQQ6r8pRsgu7pwtC61grkA/T10r/NrnxB8s
+ V2VmvQiOB0MhLMZVxY/pDPEkU6DnZ2Qu2M0STjJFAIpmAUmXD0NY9PQMzEBRPwJzkiSp71F8J1/ipNMj
+ f9rE8XggkUgexq9cBXmi+DYYjtCRGL72T+D4jr/RaE+waFgu8c0zgUcmT9UuBS4/9m0hmh9Fo7N8FXih
+ CIKE5/Vi8yJsDM8P8P0HLGwR4Wl3ICYAAAAASUVORK5CYII=
+
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmConfigDatabase.vb b/DDUserManager/DDUserManager/frmConfigDatabase.vb
new file mode 100644
index 0000000..308f6ed
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmConfigDatabase.vb
@@ -0,0 +1,133 @@
+Imports System.IO
+Imports DD_LIB_Standards
+
+Public Class frmConfigDatabase
+
+ Private ConnectionChanged As Boolean = False
+
+ Private Sub frmConfigDatabase_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ If Not MyConnectionString = String.Empty Then
+ ConnectionChanged = False
+
+ Dim csb As New SqlClient.SqlConnectionStringBuilder
+ csb.ConnectionString = MyConnectionString
+
+ Dim constr = MyConnectionString
+ If Not MyConnectionString.Contains("Trusted") Then
+ constr = constr.Replace(csb.Password, "XXXXX")
+ txtUser.Text = csb.UserID
+ chkbxUserAut.Checked = False
+ Else
+ chkbxUserAut.Checked = True
+ End If
+
+ Try
+ txtServer.Text = csb.DataSource
+ cmbDatenbank.Text = csb.InitialCatalog
+ Catch ex As Exception
+
+ End Try
+
+ txtActualConnection.Text = constr
+ End If
+ End Sub
+
+ Sub Load_Databases()
+ Try
+ Me.Cursor = Cursors.WaitCursor
+ Dim csb As New SqlClient.SqlConnectionStringBuilder
+ csb.DataSource = Me.txtServer.Text
+ csb.IntegratedSecurity = False
+ csb.UserID = Me.txtUser.Text
+ csb.Password = Me.txtPasswort.Text
+
+ Dim con As String
+ If chkbxUserAut.Checked Then
+ con = "Data Source=" & Me.txtServer.Text & ";Trusted_Connection=True;"
+ Else
+ 'con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
+ con = "Server=" & Me.txtServer.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";"
+ End If
+ Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString)
+ connection.Open()
+ Dim cmd As New SqlClient.SqlCommand("sp_databases", connection)
+ cmd.CommandType = CommandType.StoredProcedure
+ ' Ausführen und Ergebnis in einer ListBox anzeigen
+ Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader
+ If dr.HasRows Then
+ cmbDatenbank.Items.Clear()
+ Do While dr.Read
+ cmbDatenbank.Items.Add(dr("Database_Name"))
+ Loop
+ cmbDatenbank.DroppedDown = True
+ Else
+ MsgBox("The standard-databases could not be retrieved. The default database will be set!" & vbNewLine & "Check rights in sql-server for user: " & Me.txtUser.Text, MsgBoxStyle.Exclamation)
+ End If
+ connection.Close()
+ Catch ex As Exception
+ If ex.Message.ToLower.Contains("he standard-databases") Or ex.Message.ToLower.Contains("ie standard-datenbanken") Then
+ cmbDatenbank.Text = "DD_ECM"
+ End If
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load Databases:")
+ End Try
+ Cursor = Cursors.Default
+ End Sub
+
+ Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnConnect.Click
+ Try
+ Dim con As String
+ If chkbxUserAut.Checked Then
+ con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";Trusted_Connection=True;Application Name=DD UserManager"
+ Else
+ con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & Me.txtPasswort.Text & ";Application Name=DD ADDI-Client"
+ End If
+
+
+ Dim connection As New SqlClient.SqlConnection(con) 'csb.ConnectionString)
+ 'während Verbindungsaufbau Sanduhr-Mauszeiger
+ Cursor = Cursors.WaitCursor
+ connection.Open()
+ Cursor = Cursors.Default
+ 'DialogResult = Windows.Forms.DialogResult.OK
+ Dim result As MsgBoxResult
+ Dim msg = "Die Verbindung wurde erfolgreich aufgebaut!" & vbNewLine & "Möchten Sie diese Verbindung nun in der Anwendung speichern?"
+ result = MessageBox.Show(msg, "Database-Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ If result = MsgBoxResult.Yes Then
+ ConnectionChanged = True
+ 'Set the construction string
+ If rbConnDefault.Checked Then
+ MyConnectionString = con
+ 'csb.ConnectionString
+ clsDatabase.Init(MyConnectionString)
+ End If
+ My.Settings.Save()
+
+ If chkbxUserAut.Checked = False Then
+ Dim wrapper As New clsEncryption("!35452didalog=")
+ Dim cipherText As String = wrapper.EncryptData(Me.txtPasswort.Text)
+ Dim pw As String = cipherText
+ con = "Server=" & Me.txtServer.Text & ";Database=" & Me.cmbDatenbank.Text & ";User Id=" & Me.txtUser.Text & ";Password=" & pw & ";"
+ End If
+ If rbConnDefault.Checked Then
+ SaveMySettingsValue("MyConnectionString", con, "ConfigMain")
+ Else
+ SaveMySettingsValue("MyProxyConnectionString", con, "ConfigMain")
+ End If
+ Dim csb As New SqlClient.SqlConnectionStringBuilder
+ csb.ConnectionString = MyConnectionString
+ Dim constr = connection.ConnectionString
+ If chkbxUserAut.Checked = False Then
+ constr = constr.Replace(csb.Password, "XXXXX")
+ End If
+ Me.txtActualConnection.Text = constr
+ End If
+ Catch ex As Exception
+ Cursor = Cursors.Default
+ MsgBox("Error in Connectionbuild: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
+ End Try
+ End Sub
+
+ Private Sub cmbDatenbank_MouseClick(sender As Object, e As MouseEventArgs) Handles cmbDatenbank.MouseClick
+ Load_Databases()
+ End Sub
+End Class
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmMain.vb b/DDUserManager/DDUserManager/frmMain.vb
index 6a8a8dd..d9fcfdc 100644
--- a/DDUserManager/DDUserManager/frmMain.vb
+++ b/DDUserManager/DDUserManager/frmMain.vb
@@ -1,6 +1,7 @@
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DDUserManager.UserDataSet
+Imports DD_LIB_Standards
'''
''' Anmerkungen:
@@ -12,6 +13,17 @@ Public Class frmMain
Private DragDropManager As ClassDragDrop = Nothing
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ InitDatabase()
+
+ TBDD_CLIENTTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_CLIENT_USERTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_GROUPSTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_GROUPS_CLIENTTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_GROUPS_MODULESTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_GROUPS_USERTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_MODULESTableAdapter.Connection.ConnectionString = MyConnectionString
+ TBDD_USERTableAdapter.Connection.ConnectionString = MyConnectionString
+
If TBDD_USERTableAdapter.IsUserManagerAdmin(Environment.UserName) = 1 Then
Dim userRow As TBDD_USERRow = GetCurrentUserRow(Environment.UserName)
tsLabelUser.Text = $"Angemeldeter Benutzer: {userRow.USERNAME}"
@@ -45,6 +57,36 @@ Public Class frmMain
End If
End Sub
+ Public Function InitDatabase()
+ Try
+ Dim dbResult As Boolean
+
+ MySettings_Load()
+
+ clsDatabase.GUI = True
+ If MyConnectionString <> String.Empty Then
+ dbResult = clsDatabase.Init(MyConnectionString)
+ Else
+ frmConfigDatabase.ShowDialog()
+ dbResult = clsDatabase.Init(MyConnectionString)
+ End If
+ clsDatabase.Init(MyConnectionString)
+ If dbResult = False Then
+ If clsLogger.LOGG_MSG <> String.Empty Then
+ Throw New Exception("Error while Initializing database:" & vbNewLine & clsLogger.LOGG_MSG)
+ Else
+ Throw New Exception("Find more information in the logfile.")
+ End If
+
+ End If
+ Return True
+ Catch ex As Exception
+ MsgBox("Unexpected Error in Init Database:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ Return False
+ End Try
+
+ End Function
+
Private Sub btnImportUsers_Click(sender As Object, e As EventArgs) Handles btnImportUsers.Click
Dim frm As New frmADImport_Users()
frm.ShowDialog()