RecordOrganizer/app/DD-Record-Organizer/frmRecOrgConfig_Basic.vb
2023-05-22 16:55:44 +02:00

252 lines
12 KiB
VB.net

Imports DD_Rights
Imports DD_LIB_Standards
Public Class frmRecOrgConfig_Basic
Dim loaded As Boolean = False
Dim changes_ModuleKonfig As Boolean = False
Dim changes_RightService As Boolean = False
Dim changes_PMOKonfig As Boolean = False
Private Sub frmConfiguration_Basic_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
Dim sql As String = "select * from TBDD_MODULES where UPPER(NAME) = UPPER('Record-Organizer')"
Dim dt As DataTable = MYDB_ECM.GetDatatable(sql)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
Me.txtDelimiterVersion.Text = dt.Rows(0).Item("VERSION_DELIMITER")
Me.txtDelimiterFile.Text = dt.Rows(0).Item("FILE_DELIMITER")
Me.txtwddriveletter.Text = dt.Rows(0).Item("STRING1")
Me.txtProductName.Text = dt.Rows(0).Item("PRODUCT_NAME1")
Me.txtAutoLogoutUser.Text = dt.Rows(0).Item("AUTO_LOGOUT_USER")
' Hintergrundbild unwandeln und anzeigen
If Not IsDBNull(dt.Rows(0).Item("BACKGROUND_IMAGE")) Then
Dim bimage() As Byte = dt.Rows(0).Item("BACKGROUND_IMAGE")
Dim image = ByteArrayToBitmap(bimage)
Me.pbBackground.Image = image
End If
End If
End If
sql = "select * from TBPMO_SERVICE_RIGHT_CONFIG where GUID = 1"
dt = MYDB_ECM.GetDatatable(sql)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
Me.txtDomäne.Text = dt.Rows(0).Item("AD_DOMAIN")
Me.txtUser.Text = dt.Rows(0).Item("AD_USER")
Dim PWplainText As String
Dim wrapper As New ClassEncryption("!35452didalog=")
' DecryptData throws if the wrong password is used.
Try
PWplainText = wrapper.DecryptData(dt.Rows(0).Item("AD_USER_PW"))
Me.txtPW.Text = PWplainText
Catch ex As Exception
LOGGER.Warn("- the Password '" & dt.Rows(0).Item("AD_USER_PW") & "' could not be decrypted")
Me.txtPW.Text = ""
End Try
Me.txtServername.Text = dt.Rows(0).Item("AD_SERVER")
End If
End If
sql = "select * from TBPMO_KONFIGURATION where GUID = 1"
dt = MYDB_ECM.GetDatatable(sql)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
' Me.chkUnicode.Checked = dt.Rows(0).Item("WD_UNICODE")
Me.txtWiki.Text = dt.Rows(0).Item("WIKI_STRING")
End If
End If
Catch ex As Exception
MsgBox("Error in Form Load: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
loaded = True
End Sub
Private Sub TextChanged_ModuleKonfig(sender As Object, e As EventArgs) Handles txtDelimiterFile.TextChanged, txtDelimiterVersion.TextChanged, txtwddriveletter.TextChanged, txtProductName.TextChanged
If loaded = True Then
changes_ModuleKonfig = True
btnsave.Enabled = True
End If
End Sub
Private Sub chkUnicode_CheckedChanged(sender As Object, e As EventArgs)
If loaded = True Then
changes_PMOKonfig = True
btnsave.Enabled = True
End If
End Sub
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
If changes_ModuleKonfig = True Then
Try
' Hintergrund speichern
Dim image As Bitmap = Nothing
Dim bimage() As Byte = Nothing
Dim sql As String = "UPDATE TBDD_MODULES SET AUTO_LOGOUT_USER = @AUTO_LOGOUT_USER, VERSION_DELIMITER = @VERSION_DELIMITER, FILE_DELIMITER = @FILE_DELIMITER, STRING1 = @STRING1, BACKGROUND_IMAGE = @BACKGROUND_IMAGE, PRODUCT_NAME1 = @PRODUCT_NAME1, CHANGED_WHO = @CHANGED_WHO WHERE NAME = 'Record-Organizer'"
Dim conn As New SqlClient.SqlConnection(MyConnectionString)
Dim cmd As New SqlClient.SqlCommand(sql, conn)
If pbBackground.ImageLocation IsNot Nothing Then
image = CType(Drawing.Image.FromFile(pbBackground.ImageLocation, True), Bitmap)
bimage = BitmapToByteArray(image)
cmd.Parameters.Add("@BACKGROUND_IMAGE", SqlDbType.VarBinary).Value = bimage
Else
cmd.Parameters.Add("@BACKGROUND_IMAGE", SqlDbType.VarBinary).Value = DBNull.Value
End If
cmd.Parameters.Add("@VERSION_DELIMITER", SqlDbType.Text).Value = txtDelimiterVersion.Text
cmd.Parameters.Add("@AUTO_LOGOUT_USER", SqlDbType.Int).Value = txtAutoLogoutUser.Text
cmd.Parameters.Add("@FILE_DELIMITER", SqlDbType.Text).Value = txtDelimiterFile.Text
cmd.Parameters.Add("@STRING1", SqlDbType.Text).Value = txtwddriveletter.Text
cmd.Parameters.Add("@CHANGED_WHO", SqlDbType.Text).Value = USER_USERNAME
cmd.Parameters.Add("@PRODUCT_NAME1", SqlDbType.Text).Value = txtProductName.Text
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
lblSaveresult.Visible = True
Catch ex As Exception
MsgBox("Error in Save ModuleConfig: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End If
If changes_PMOKonfig = True Then
Try
Dim wduni As Integer = 0
'If chkUnicode.Checked Then
' wduni = 1
'End If
Dim upd = String.Format("UPDATE TBPMO_KONFIGURATION SET WIKI_STRING = '{0}', CHANGED_WHO = '{1}', WD_UNICODE = {2} WHERE GUID = 1", Me.txtWiki.Text, USER_USERNAME, wduni)
If MYDB_ECM.ExecuteNonQuery(upd) = True Then
lblSaveresult.Visible = True
Else
lblSaveresult.Visible = False
End If
Catch ex As Exception
MsgBox("Error in Save Config: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End If
If changes_RightService = True Then
Dim wrapper As New ClassEncryption("!35452didalog=")
Dim cipherText As String = wrapper.EncryptData(Me.txtPW.Text)
Dim pw As String = cipherText
Dim upd = String.Format("UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET AD_DOMAIN = '{0}', AD_USER = '{1}', AD_USER_PW = '{2}', AD_SERVER = '{3}', CHANGED_WHO = '{4}' WHERE GUID = 1", Me.txtDomäne.Text, Me.txtUser.Text, pw, Me.txtServername.Text, USER_USERNAME)
MYDB_ECM.ExecuteNonQuery(upd)
btnsave.Enabled = False
End If
End Sub
Private Sub chkChildWindow_CheckedChanged(sender As Object, e As EventArgs) Handles chkChildWindow.CheckedChanged
My.Settings.Save()
End Sub
Private Sub btnSelectBackground_Click(sender As Object, e As EventArgs) Handles btnSelectBackground.Click
OpenFileDialog1.Filter = "PNG Bilder|*.png"
If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Dim path As String = OpenFileDialog1.FileName
pbBackground.ImageLocation = path
btnsave.Enabled = True
changes_ModuleKonfig = True
End If
End Sub
Private Sub btnResetBackground_Click(sender As Object, e As EventArgs) Handles btnResetBackground.Click
If pbBackground.Image IsNot Nothing Then
btnsave.Enabled = True
changes_ModuleKonfig = True
End If
pbBackground.ImageLocation = Nothing
pbBackground.Image = Nothing
End Sub
Private Sub btnTest_Anmeldung_Click(sender As Object, e As EventArgs) Handles btnTest_Anmeldung.Click
Try
DD_Rights.clsLogger.Init(Application.UserAppDataPath() & "\Log", USER_USERNAME)
Dim session = DD_Rights.ClassRights.GetWMSessionAsUser(Me.txtDomäne.Text, Me.txtServername.Text, Me.txtUser.Text, Me.txtPW.Text)
If Not IsNothing(session) Then
MsgBox("The persionalized connection to windream was created successfully!", MsgBoxStyle.Information)
Dim wrapper As New ClassEncryption("!35452didalog=")
Dim cipherText As String = wrapper.EncryptData(Me.txtPW.Text)
Dim pw As String = cipherText
Dim upd = String.Format("UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET AD_DOMAIN = '{0}', AD_USER = '{1}', AD_USER_PW = '{2}', AD_SERVER = '{3}', CHANGED_WHO = '{4}' WHERE GUID = 1", Me.txtDomäne.Text, Me.txtUser.Text, pw, Me.txtServername.Text, USER_USERNAME)
MYDB_ECM.ExecuteNonQuery(upd)
btnsave.Enabled = False
Else
MsgBox("The persionalized connection to windream could NOT be created." & vbNewLine & "Please check the User-Data!", MsgBoxStyle.Critical)
End If
Catch ex As Exception
MsgBox("Error in Check windream login: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub txtDomäne_TextChanged(sender As Object, e As EventArgs) Handles txtDomäne.TextChanged
If loaded = True Then
changes_RightService = True
btnsave.Enabled = True
End If
End Sub
Private Sub txtUser_TextChanged(sender As Object, e As EventArgs) Handles txtUser.TextChanged
If loaded = True Then
changes_RightService = True
btnsave.Enabled = True
End If
End Sub
Private Sub txtPW_TextChanged(sender As Object, e As EventArgs) Handles txtPW.TextChanged
If loaded = True Then
changes_RightService = True
btnsave.Enabled = True
End If
End Sub
Private Sub txtServername_TextChanged(sender As Object, e As EventArgs) Handles txtServername.TextChanged
If loaded = True Then
changes_RightService = True
btnsave.Enabled = True
End If
End Sub
Private Sub txtWiki_TextChanged(sender As Object, e As EventArgs) Handles txtWiki.TextChanged
If loaded = True Then
changes_PMOKonfig = True
btnsave.Enabled = True
End If
End Sub
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
Select Case TabControl1.SelectedIndex
Case 1
Dim sql = String.Format("SELECT * FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')")
Dim KONFIG_DT As DataTable = MYDB_ECM.GetDatatable(sql)
If KONFIG_DT.Rows.Count = 1 Then
txtBoxUpdatePath.Text = KONFIG_DT.Rows(0).Item("VERSION_UPATE_PATH")
End If
End Select
End Sub
Private Sub btnSaveUpdatePath_Click(sender As Object, e As EventArgs) Handles btnSaveUpdatePath.Click
Dim upd = String.Format("UPDATE TBDD_MODULES SET VERSION_UPATE_PATH = '{0}' WHERE UPPER(NAME) = UPPER('Record-Organizer')", txtBoxUpdatePath.Text)
If MYDB_ECM.ExecuteNonQuery(upd) = True Then
lblSave.Visible = True
Else
lblSave.Visible = False
End If
End Sub
Private Sub txtWiki_VisibleChanged(sender As Object, e As EventArgs) Handles txtWiki.VisibleChanged
End Sub
Private Sub txtAutoLogoutUser_TextChanged(sender As Object, e As EventArgs) Handles txtAutoLogoutUser.TextChanged
If loaded = True Then
changes_ModuleKonfig = True
btnsave.Enabled = True
End If
End Sub
End Class