Files
RecordOrganizer/app/DD-Record-Organiser/frmConfiguration_Basic.vb
SchreiberM fd0e907262 MS
2016-08-17 16:02:55 +02:00

193 lines
9.1 KiB
VB.net

Imports DD_Rights
Public Class frmConfiguration_Basic
Dim loaded As Boolean = False
Dim changes_ModuleKonfig As Boolean = False
Dim changes_Konfig 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 NAME = 'Record-Organizer'"
Dim dt As DataTable = ClassDatabase.Return_Datatable(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")
' 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_KONFIGURATION where GUID = 1"
dt = ClassDatabase.Return_Datatable(sql)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
Me.chkUnicode.Checked = dt.Rows(0).Item("WD_UNICODE")
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
ClassLogger.Add("- the Password '" & dt.Rows(0).Item("AD_USER_PW") & "' could not be decrypted", False)
Me.txtPW.Text = ""
End Try
Me.txtServername.Text = dt.Rows(0).Item("AD_SERVER")
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) Handles chkUnicode.CheckedChanged
If loaded = True Then
changes_Konfig = 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 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("@FILE_DELIMITER", SqlDbType.Text).Value = txtDelimiterFile.Text
cmd.Parameters.Add("@STRING1", SqlDbType.Text).Value = txtwddriveletter.Text
cmd.Parameters.Add("@CHANGED_WHO", SqlDbType.Text).Value = Environment.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_Konfig = True Then
Try
Dim wduni As Integer = 0
If chkUnicode.Checked Then
wduni = 1
End If
Dim upd = String.Format("UPDATE TBPMO_KONFIGURATION SET AD_DOMAIN = '{0}', AD_USER = '{1}', AD_USER_PW = '{2}', AD_SERVER = '{3}', CHANGED_WHO = '{4}',WD_UNICODE = {5} WHERE GUID = 1", Me.txtDomäne.Text, Me.txtUser.Text, Me.txtPW.Text, Me.txtServername.Text, Environment.UserName, wduni)
If ClassDatabase.Execute_non_Query(upd, True) = 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
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() = 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.ClassLogger.Init(Application.UserAppDataPath() & "\Log", Environment.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_KONFIGURATION 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, Environment.UserName)
ClassDatabase.Execute_non_Query(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_Konfig = 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_Konfig = 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_Konfig = 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_Konfig = True
btnsave.Enabled = True
End If
End Sub
End Class