TaskFlow/app/DD_PM_WINDREAM/frmAdministration.vb
2018-10-15 17:02:33 +02:00

1134 lines
52 KiB
VB.net

Imports System.ComponentModel
Imports System.Data.SqlClient
Imports System.IO
Imports DD_LIB_Standards
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Public Class frmAdministration
Private _windreamPM As ClassPMWindream
Private email As New ClassEmail
Public profile_guid As Integer = 0
Dim formloaded As Boolean
Private INSERT_ACTIVE As Boolean = False
Dim Windream_Indicies As List(Of String)
Dim Windream_Indicies_Types As List(Of Integer)
Private Sub frmFormDesigner_Load(sender As Object, e As System.EventArgs) Handles Me.Load
formloaded = False
Try
TBPM_KONFIGURATIONTableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_TYPETableAdapter.Connection.ConnectionString = MyConnectionString
TBDD_USERTableAdapter.Connection.ConnectionString = MyConnectionString
FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString
TBDD_GROUPSTableAdapter.Connection.ConnectionString = MyConnectionString
TBPROFILE_USERTableAdapter.Connection.ConnectionString = MyConnectionString
TBPROFILE_GROUPTableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_PROFILE_FINAL_INDEXINGTableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_ERROR_LOGTableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = MyConnectionString
TBPM_PROFILE_FILESTableAdapter.Connection.ConnectionString = MyConnectionString
TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString
TBDD_CONNECTIONTableAdapter.Fill(DD_DMSLiteDataSet.TBDD_CONNECTION)
Refresh_Profildaten()
Dim dragDropManager = New ClassDragDrop()
dragDropManager.AddGridView(viewAssignedUsers)
dragDropManager.AddGridView(viewAvailableUsers)
dragDropManager.AddGridView(viewAvailableGroups)
dragDropManager.AddGridView(viewAssignedGroups)
'If clsModules.IsModuleInstalled("User Manager") Then
' btnUserManager.Enabled = True
'Else
' btnUserManager.Enabled = False
'End If
If ClassUser.Check_User_Exists_in_UMGroups = True Then
btnUserManager.Enabled = True
Else
btnUserManager.Enabled = False
End If
tabctrl_Profilkonfig.SelectedIndex = 0
Catch ex As Exception
MsgBox("Fehler bei Laden der Wertehilfen und Konfig-Daten: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try
Try
' Windream instanziieren
_windreamPM = New ClassPMWindream()
'Windream initialisieren (Connection, Session, ... aufbauen)
_windreamPM.Create_Session()
Catch ex As Exception
MsgBox("Fehler bei Initialisieren von windream: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try
ObjekttypenEintragen()
Indexe_eintragen()
Try
If cmbObjekttypen.Text <> String.Empty Then
Windream_Indicies = _windreamPM.GetIndicesByObjecttype(cmbObjekttypen.Text).ToList()
Windream_Indicies_Types = New List(Of Integer)
For Each i In Windream_Indicies
Dim type = _windreamPM.GetTypeOfIndex(i)
Windream_Indicies_Types.Add(type)
Next
End If
Catch ex As Exception
MsgBox("Fehler bei Indexe_eintragen: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try
End Sub
Sub Indexe_eintragen()
If cmbObjekttypen.Text <> "" Then
Try
Me.PM_VEKTOR_INDEXComboBox.Items.Clear()
Me.cmbLOGIndex.Items.Clear()
Dim indexe = _windreamPM.GetIndicesByObjecttype(cmbObjekttypen.Text)
Me.PM_VEKTOR_INDEXComboBox.Items.Add("")
Me.cmbLOGIndex.Items.Add("")
If indexe IsNot Nothing Then
For Each index As String In indexe
Dim _vektorString As Boolean = False
Select Case _windreamPM.GetTypeOfIndex(index)
Case 4097
_vektorString = True
Case 36865
_vektorString = True
Case Else
_vektorString = False
End Select
If _vektorString = True Then
Me.PM_VEKTOR_INDEXComboBox.Items.Add(index)
Me.cmbLOGIndex.Items.Add(index)
End If
Next
End If
If Me.PM_VEKTOR_INDEXComboBox.Text <> "" Then
PM_VEKTOR_INDEXComboBox.SelectedIndex = PM_VEKTOR_INDEXComboBox.FindStringExact(Me.PM_VEKTOR_INDEXComboBox.Text)
Else
PM_VEKTOR_INDEXComboBox.SelectedIndex = -1
End If
If Me.cmbLOGIndex.Text <> "" Then
cmbLOGIndex.SelectedIndex = cmbLOGIndex.FindStringExact(Me.cmbLOGIndex.Text)
Else
cmbLOGIndex.SelectedIndex = -1
End If
Catch ex As Exception
MsgBox("Fehler bei Indexe_eintragen: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
PM_VEKTOR_INDEXComboBox.SelectedIndex = -1
cmbLOGIndex.SelectedIndex = -1
End Try
End If
End Sub
Sub Refresh_Profildaten()
Try
TBPM_PROFILETableAdapter.Fill(DD_DMSLiteDataSet.TBPM_PROFILE)
TBPM_TYPETableAdapter.Fill(DD_DMSLiteDataSet.TBPM_TYPE)
TBPM_KONFIGURATIONTableAdapter.Fill(DD_DMSLiteDataSet.TBPM_KONFIGURATION)
'Me.TBPM_USERTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_USER)
'TBDD_GROUPSTableAdapter.FillByProfileId_NotAssigned(DD_DMSLiteDataSet.TBDD_GROUPS, PROFILGUIDTextBox.Text)
If tabctrl_Profilkonfig.SelectedIndex = 1 Then
CURRENT_OBJECTTYPE = cmbObjekttypen.Text
If TabControl2.SelectedIndex = 1 Then
Refresh_Final_indexe()
End If
End If
Catch ex As Exception
MsgBox("Fehler bei Refresh_Profildaten: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:")
End Try
End Sub
Private Sub ObjekttypenEintragen()
Me.cmbObjekttypen.Items.Clear()
Try
Dim oDokumentTypen As WINDREAMLib.WMObjects = Me._windreamPM.GetObjecttypesAsObjects()
If oDokumentTypen Is Nothing Then Exit Sub
For Each aType In oDokumentTypen
Me.cmbObjekttypen.Items.Add(aType.aName)
Next
Catch ex As Exception
MsgBox("Es konnte keine Verbindung zum windream-Server hergestellt werden.", MsgBoxStyle.Critical, "Fehler beim Zugriff auf windream-Server")
End Try
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btnWDSuche.Click
If Not Me.WD_SEARCHTextBox.Text = "" Then
Me.dlgWindreamsuche.FileName = Me.WD_SEARCHTextBox.Text
End If
If Me.dlgWindreamsuche.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.WD_SEARCHTextBox.Text = Me.dlgWindreamsuche.FileName
End If
End Sub
Private Sub btnopenSuche_Click(sender As System.Object, e As System.EventArgs) Handles btnopenSuche.Click
Try
If Not Me.WD_SEARCHTextBox.Text = "" Then
Dim p As New Process()
p.StartInfo.FileName = Me.WD_SEARCHTextBox.Text
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
p.Start()
p.WaitForExit()
p.Close()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei öffnen der windream-Suche:")
End Try
End Sub
Private Sub VWPM_PROFILE_USERBindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) Handles VWPM_PROFILE_USERBindingNavigatorSaveItem.Click
Try
Me.TBPM_PROFILEBindingSource.EndEdit()
If DD_DMSLiteDataSet.TBPM_PROFILE.GetChanges Is Nothing = False Then
Me.TBPM_PROFILETableAdapter.Update(DD_DMSLiteDataSet.TBPM_PROFILE)
tstrlblSave.Visible = True
Else
tstrlblSave.Visible = False
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Speichern des Profils:")
End Try
End Sub
Private Sub TBPM_PROFILEBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBPM_PROFILEBindingSource.AddingNew
DD_DMSLiteDataSet.TBPM_PROFILE.ADDED_WHOColumn.DefaultValue = Environment.UserName
DD_DMSLiteDataSet.TBPM_PROFILE.ADDED_WHENColumn.DefaultValue = Date.Now
DD_DMSLiteDataSet.TBPM_PROFILE.TYPEColumn.DefaultValue = 1
End Sub
Private Sub TBPM_PROFILEBindingSource_PositionChanged(sender As System.Object, e As System.EventArgs) Handles TBPM_PROFILEBindingSource.PositionChanged
tstrlblSave.Visible = False
Indexe_eintragen()
If tabctrl_Profilkonfig.SelectedIndex = 1 And TBPM_PROFILEBindingSource.Position <> -1 Then
Refresh_Final_indexe()
End If
End Sub
Private Sub tstrpbtn_add_Click(sender As System.Object, e As System.EventArgs) Handles tstrpbtn_add.Click
If TBPM_PROFILETableAdapter.cmdAnzProfile + 1 > LICENSE_PROFILES Then
MsgBox("Sie haben die maximale Anzahl (" & LICENSE_PROFILES & ") von lizensierten Profilen erreicht!" & vbNewLine & "Bitte löschen Sie Profile oder setzen sich mit Digital Data in Verbindung!", MsgBoxStyle.Exclamation, "Achtung Lizenzhinweis:")
Else
TBPM_PROFILEBindingSource.AddNew()
End If
End Sub
Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnDesigner_open.Click
If CInt(PROFILGUIDTextBox.Text) > 0 Then
profile_guid = PROFILGUIDTextBox.Text
CURRENT_ProfilGUID = PROFILGUIDTextBox.Text
My.Settings.Save()
CURRENT_OBJECTTYPE = cmbObjekttypen.Text
CURRENT_ProfilName = NAMETextBox.Text
frmFormDesigner.ProfileId = CURRENT_ProfilGUID
frmFormDesigner.ProfileName = CURRENT_ProfilName
frmFormDesigner.ProfileObjectType = cmbObjekttypen.Text
frmFormDesigner.ShowDialog()
Else
MsgBox("Eindeutiges Profil konnte nicht an den FormDesigner weitergegeben werden:", MsgBoxStyle.Exclamation)
End If
End Sub
Private Sub btnmovetoFolderDialog_Click(sender As System.Object, e As System.EventArgs) Handles btnmovetoFolderDialog.Click
' wenn im Formular der OK-Button geklickt wurde
If Me.FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
' den Speicherort der windream-Suche in die TextBox eintragen
Me.MOVE2FOLDERTextBox.Text = Me.FolderBrowserDialog1.SelectedPath
End If
End Sub
Private Sub ADDED_WHOLabel_Click(sender As System.Object, e As System.EventArgs)
End Sub
Sub FillProfile_User(profileId As Integer)
Try
If Not IsNothing(profileId) Then
TBPROFILE_USERTableAdapter.Fill(DD_DMSLiteDataSet.TBPROFILE_USER, profileId)
TBPROFILE_GROUPTableAdapter.Fill(DD_DMSLiteDataSet.TBPROFILE_GROUP, profileId)
Me.FNPM_GET_FREE_USER_FOR_PROFILETableAdapter.Fill(Me.DD_DMSLiteDataSet.FNPM_GET_FREE_USER_FOR_PROFILE, profileId)
TBDD_GROUPSTableAdapter.FillByProfileId_NotAssigned(DD_DMSLiteDataSet.TBDD_GROUPS, profileId)
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Laden der User zu Profil:")
End Try
End Sub
Private Sub TBPM_USERBindingSource_AddingNew(sender As System.Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBDD_USERBindingSource.AddingNew
DD_DMSLiteDataSet.TBDD_USER.ADDED_WHOColumn.DefaultValue = Environment.UserName
End Sub
Private Function GetCurrentProfileId() As Integer
Dim rowView As DataRowView = viewAvailableProfiles.GetFocusedRow()
If IsNothing(rowView) = False Then
Dim profileId As Integer = rowView.Item("GUID")
Return profileId
Else : Return Nothing
End If
End Function
Private Sub viewAvailableProfiles_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles viewAvailableProfiles.FocusedRowChanged
If TabControl1.SelectedIndex = 1 And formloaded Then
Try
Dim profileId As Integer = GetCurrentProfileId()
If Not IsNothing(profileId) Then
FillProfile_User(profileId)
End If
Catch ex As Exception
MsgBox($"Error while calling FillProfile_User", MsgBoxStyle.Critical)
End Try
End If
End Sub
Private Sub gridAssignedUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridAssignedUsers.DragDrop
Try
Dim data As String = e.Data.GetData(DataFormats.Text)
Dim userId As Integer = data.Split("|")(0)
Dim profileId = GetCurrentProfileId()
TBPROFILE_USERTableAdapter.CMDInsert(profileId, userId, Environment.UserName)
FillProfile_User(profileId)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Hinzufügen eines Users:")
End Try
End Sub
Private Sub gridAvailableUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridAvailableUsers.DragDrop
Try
Dim data As String = e.Data.GetData(DataFormats.Text)
Dim userId As Integer = data.Split("|")(0)
Dim profileId = GetCurrentProfileId()
TBPROFILE_USERTableAdapter.CmdDelete(profileId, userId)
FillProfile_User(profileId)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Entfernen eines Users:")
End Try
End Sub
Private Sub gridAssignedGroups_DragDrop(sender As Object, e As DragEventArgs) Handles gridAssignedGroups.DragDrop
Try
Dim data As String = e.Data.GetData(DataFormats.Text)
Dim groupId As Integer = data.Split("|")(0)
Dim profileId = GetCurrentProfileId()
TBPROFILE_GROUPTableAdapter.CmdInsert(profileId, groupId, Environment.UserName)
' TBPROFILE_USERTableAdapter.CMDInsert(profileId, userId, Environment.UserName)
FillProfile_User(profileId)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Hinzufügen einer Gruppe:")
End Try
End Sub
Private Sub gridAvailableGroups_DragDrop(sender As Object, e As DragEventArgs) Handles gridAvailableGroups.DragDrop
Try
Dim data As String = e.Data.GetData(DataFormats.Text)
Dim groupId As Integer = data.Split("|")(0)
Dim profileId = GetCurrentProfileId()
TBPROFILE_GROUPTableAdapter.CmdDelete(profileId, groupId)
'TBPROFILE_USERTableAdapter.cmdDelete(userId)
FillProfile_User(profileId)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler beim Entfernen einer Gruppe:")
End Try
End Sub
'Private Sub BindingNavigatorDeleteItem_Click(sender As System.Object, e As System.EventArgs)
' If viewAssignedUsers.GetSelectedRows().Length > 0 Then
' For Each rowHandle In viewAssignedUsers.GetSelectedRows()
' Dim rowView As DataRowView = viewAssignedUsers.GetRow(rowHandle)
' Dim userId As Integer = rowView.Item("GUID")
' TBPROFILE_USERTableAdapter.cmdDelete(userId)
' Next
' End If
'End Sub
Private Sub btnlicensemanager_open_Click(sender As System.Object, e As System.EventArgs) Handles btnlicensemanager_open.Click
frmLicense.ShowDialog()
End Sub
Sub Save_Konfiguration()
TBPM_KONFIGURATIONBindingSource.EndEdit()
If DD_DMSLiteDataSet.TBPM_KONFIGURATION.GetChanges Is Nothing = False Then
GEAENDERTWERTextBox.Text = Environment.UserName
TBPM_KONFIGURATIONBindingSource.EndEdit()
TBPM_KONFIGURATIONTableAdapter.Update(DD_DMSLiteDataSet.TBPM_KONFIGURATION)
tstrpinfo.Text = "Konfiguration wurde erfolgreich gespeichert"
tstrpinfo.Visible = True
Else
tstrpinfo.Visible = False
End If
End Sub
Private Sub frmProfileDesigner_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
formloaded = True
End Sub
Private Sub btnSaveKonfig_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveKonfig.Click
Save_Konfiguration()
End Sub
Private Sub Refresh_Final_indexe()
Try
'Me.lblSaveFinalIndex.Visible = False
If formloaded = False Then Exit Sub
If PROFILGUIDTextBox.Text <> String.Empty Then
Me.TBPM_PROFILE_FINAL_INDEXINGTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBPM_PROFILE_FINAL_INDEXING, PROFILGUIDTextBox.Text)
End If
Catch ex As System.Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Refresh_Final_indexe:")
End Try
End Sub
Private Sub TabControl2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles tabctrl_Profilkonfig.SelectedIndexChanged
If tabctrl_Profilkonfig.SelectedIndex = 1 Then
CURRENT_OBJECTTYPE = cmbObjekttypen.Text
Refresh_Final_indexe()
CancelFinalIndexInsert()
End If
End Sub
Private Sub TabControl1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
Select Case TabControl1.SelectedIndex
Case 1
If PROFILGUIDTextBox.Text = String.Empty Then
MsgBox("Kein Profil angelegt oder ausgeählt", MsgBoxStyle.Critical)
Else
FillProfile_User(PROFILGUIDTextBox.Text)
End If
Case 3
Refresh_log()
End Select
End Sub
Private Sub BindingNavigatorDeleteItem1_Click(sender As System.Object, e As System.EventArgs) Handles BindingNavigatorDeleteItem1.Click
Try
TBPM_ERROR_LOGTableAdapter.CmdDelete()
Refresh_log()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Delete Log:")
End Try
End Sub
Sub Refresh_log()
Try
Me.TBPM_ERROR_LOGTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBPM_ERROR_LOG)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Refresh Error:")
End Try
End Sub
'Private Sub cmbIndexe_SelectedIndexChanged(sender As System.Object, e As System.EventArgs)
' If cmbIndexe.SelectedIndex <> -1 Then
' 'MsgBox(_windreamPM.GetTypeOfIndex(cmbIndexe.Text))
' btnInsert_FinalIndex.Enabled = True
' Me.btnStampDate.Visible = False
' Me.btnStampDate.Visible = False
' Dim type = _windreamPM.GetTypeOfIndex(cmbIndexe.Text)
' Select Case type
' Case 1 'String
' Me.lblIndex.Text = "Definieren Sie den festen Wert: (Text)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = True
' Me.btnStampDate.Visible = True
' Me.btnStampDate.Visible = True
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 2 'Integer
' Me.lblIndex.Text = "Definieren Sie den festen Wert: (Zahl)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = True
' Me.btnStampDate.Visible = True
' Me.btnStampDate.Visible = True
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 3 'Float
' Me.lblIndex.Text = "Definieren Sie den festen Wert: (Decimal)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = False
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4 ' Boolean
' Me.lblIndex.Text = "Wählen Sie den Boolean-Wert: (Ja/Nein)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = False
' Me.grbxSystemStamps.Visible = False
' Me.chkbxfinalIndex.CheckState = CheckState.Checked
' Me.chkbxfinalIndex.Visible = True
' Case 5 'Date
' Me.lblIndex.Text = "Definieren Sie den festen Wert: (Date)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = True
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4107 'Vektor Zahl
' Me.lblIndex.Text = "Definieren Sie den festen Wert - Vektorfeld: (Zahl)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = False
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4097 'Vektor String
' Me.lblIndex.Text = "Definieren Sie den festen Wert - Vektorfeld: (Text)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = True
' Me.btnStampDate.Visible = True
' Me.btnStampDate.Visible = True
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4100 'Vektor Bool
' Me.lblIndex.Text = "Definieren Sie den festen Wert - Vektorfeld: (Boolean)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = False
' Me.btnStampDate.Visible = False
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4101 'Vektor Date
' Me.lblIndex.Text = "Definieren Sie den festen Wert - Vektorfeld: (Date)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = True
' Me.btnStampDate.Visible = True
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case 4104
' Me.lblIndex.Text = "Definieren Sie den festen Wert - Vektorfeld: (Currency)"
' Me.lblIndex.Visible = True
' Me.txtindexwert_final.Visible = True
' Me.grbxSystemStamps.Visible = False
' Me.txtindexwert_final.Text = ""
' Me.chkbxfinalIndex.Visible = False
' Case Else
' btnInsert_FinalIndex.Enabled = False
' End Select
' End If
'End Sub
'Private Sub btnInsert_FinalIndex_Click(sender As System.Object, e As System.EventArgs)
' Me.lblSaveFinalIndex.Visible = False
' If CheckBoxPMVEKTOR.Checked = False Then
' If cmbIndexe.SelectedIndex <> -1 Then
' Dim indexwert As String = ""
' If txtindexwert_final.Visible = True Then
' indexwert = txtindexwert_final.Text
' Else
' If chkbxfinalIndex.CheckState = CheckState.Checked Then
' indexwert = 1
' Else
' indexwert = 0
' End If
' End If
' Try
' TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdInsert(PROFILGUIDTextBox.Text, cmbIndexe.Text, indexwert, Environment.UserName, 0, "")
' Me.lblSaveFinalIndex.Text = "Der Index wurde erfolgreich angelegt - " & Now
' Me.lblSaveFinalIndex.Visible = True
' Catch ex As Exception
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Anlage Final Index:")
' End Try
' End If
' Else
' If txtBezeichner.Text <> "" Then
' Dim indexwert As String = ""
' If txtindexwert_final.Visible = True Then
' indexwert = txtindexwert_final.Text
' Else
' If chkbxfinalIndex.CheckState = CheckState.Checked Then
' indexwert = "True"
' Else
' indexwert = "False"
' End If
' End If
' Try
' TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdInsert(PROFILGUIDTextBox.Text, "[%VKT" & txtBezeichner.Text, indexwert, Environment.UserName, 0, "")
' Me.lblSaveFinalIndex.Text = "Der Index wurde erfolgreich angelegt - " & Now
' Me.lblSaveFinalIndex.Visible = True
' Catch ex As Exception
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei Anlage Final Index in VEKTORFELD:")
' End Try
' End If
' End If
' Refresh_Final_indexe()
' INSERT_ACTIVE = False
' TabControlFinalIndices.Enabled = False
'End Sub
'Private Sub ToolStripButton1_Click_1(sender As System.Object, e As System.EventArgs)
' Refresh_Final_indexe()
' INSERT_ACTIVE = False
' TabControlFinalIndices.Enabled = False
' txtBezeichner.Text = String.Empty
' txtindexwert_final.Text = String.Empty
'End Sub
Private Sub tsbtnProfilkopieren_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnProfilkopieren.Click
Dim result As MsgBoxResult = MsgBox("Wollen Sie das gesamte Profil kopieren?" & vbNewLine & "Alle Einstellungen werden übernommen, das Profil wird angelegt und inaktiv gesetzt!", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
Try
Dim copySuffix = "_COPY"
While TBPM_PROFILETableAdapter.cmdProfileExists($"{NAMETextBox.Text}{copySuffix}") > 0
copySuffix = copySuffix & "_COPY"
End While
TBPM_PROFILETableAdapter.cmdInsert_Copy(copySuffix, Environment.UserName, PROFILGUIDTextBox.Text)
Dim NewGUID As Integer = TBPM_PROFILETableAdapter.cmdMaxGuid
If NewGUID > 0 Then
Dim _sql = "INSERT INTO TBPM_PROFILE_CONTROLS " &
"(NAME, PROFIL_ID, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, READ_ONLY, " &
"LOAD_IDX_VALUE, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR) " &
"SELECT LOWER(CTRL_TYPE + CONVERT(VARCHAR(4),ROW_NUMBER() OVER (ORDER BY CTRL_TYPE))),@NEW_PROFIL_ID, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, '@User', INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, " &
"READ_ONLY, LOAD_IDX_VALUE, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR " &
"FROM TBPM_PROFILE_CONTROLS AS TBPM_PROFILE_CONTROLS_1 " &
"WHERE (PROFIL_ID = @Copy_profilId) "
_sql = _sql.Replace("@NEW_PROFIL_ID", NewGUID)
_sql = _sql.Replace("@User", Environment.UserName)
_sql = _sql.Replace("@Copy_profilId", PROFILGUIDTextBox.Text)
TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdInsert_Copy(NewGUID, Environment.UserName, PROFILGUIDTextBox.Text)
'TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertCopy(NewGUID, Environment.UserName, PROFILGUIDTextBox.Text)
Execute_SQL(_sql)
MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich kopiert!", MsgBoxStyle.Information, "Erfolgsmeldung")
Refresh_Profildaten()
End If
Catch ex As Exception
MsgBox("Fehler bei Anlage Profilkopie:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:")
End Try
End If
End Sub
Private Function Execute_SQL(SQL As String)
Try
Dim SQLconnection As New SqlClient.SqlConnection(MyConnectionString)
Dim SQLcommand As New SqlCommand(SQL, SQLconnection)
SQLconnection.Open()
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnection.Close()
Return True
Catch ex As Exception
MsgBox("Fehler in Execute_SQL: " & vbNewLine & ex.Message & vbNewLine & vbNewLine & " SQL: " & SQL)
Return False
End Try
End Function
Private Sub tsbtndeleteProfil_Click(sender As System.Object, e As System.EventArgs) Handles tsbtndeleteProfil.Click
Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie das Profil " & NAMETextBox.Text & " löschen wollen?", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
' wenn Speichern ja
If result = MsgBoxResult.Yes Then
Try
Dim profileID = PROFILGUIDTextBox.Text
Dim del As String = "delete from TBPM_CONTROL_TABLE where CONTROL_ID in (SELECT GUID FROM TBPM_PROFILE_CONTROLS where PROFIL_ID = " & profileID & ")"
ClassDatabase.Execute_non_Query(del)
TBPM_ERROR_LOGTableAdapter.DeletePROFIL(profileID)
TBPM_PROFILE_FILESTableAdapter.cmdDeleteProfilData(profileID)
TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdDelete_ProfilID(profileID)
TBPM_PROFILE_CONTROLSTableAdapter.cmdDeleteProfil(profileID)
TBPROFILE_USERTableAdapter.cmdDeleteAllForProfile(profileID)
TBPROFILE_GROUPTableAdapter.CmdDeleteAllForProfile(profileID)
TBPM_PROFILETableAdapter.cmdDelete(profileID)
MsgBox("Das Profil " & NAMETextBox.Text & " wurde erfolgreich gelöscht!", MsgBoxStyle.Information, "Erfolgsmeldung")
Refresh_Profildaten()
Catch ex As Exception
MsgBox("Fehler bei Löschen des Profils:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:")
End Try
End If
End Sub
Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles btnTest_Email.Click
If txtemailEmpfaenger.Text <> "" And EMAIL_FROMTextBox.Text <> "" And EMAIL_SMTPTextBox.Text <> "" And EMAIL_USERTextBox.Text <> "" And EMAIL_PWTextBox.Text <> "" Then
email.Send_Log_Mail("<b>Dies ist eine Testemail! Gesendet vom Softwaremodul Process-Manager DD.</b><p>",
"Testemail Process-Manager", EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, EMAIL_USERTextBox.Text, EMAIL_PWTextBox.Text, txtemailEmpfaenger.Text, True)
Save_Konfiguration()
Else
MsgBox("Bitte geben Sie in allen Pflichtfeldern einen Wert ein!", MsgBoxStyle.Exclamation)
End If
End Sub
Private Sub EMAIL_ACTIVECheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles EMAIL_ACTIVECheckBox.CheckedChanged
If EMAIL_ACTIVECheckBox.Checked Then
Me.grpbxEmail.Enabled = True
Else
Me.grpbxEmail.Enabled = False
End If
End Sub
Private Sub btnopen_SQLAdmin_Click(sender As Object, e As EventArgs) Handles btnopen_SQLAdmin.Click
frmSQL_Admin.ShowDialog()
End Sub
Private Sub btnRefreshProfiles_Click(sender As Object, e As EventArgs) Handles btnRefreshProfiles.Click
Refresh_Profildaten()
End Sub
Private Sub CancelFinalIndexInsert()
INSERT_ACTIVE = False
tsBtnCancel.Visible = False
BindingNavigatorAddNewItem.Visible = True
TBPM_PROFILE_FINAL_INDEXINGBindingSource.CancelEdit()
End Sub
Private Sub ACTIVECheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles ACTIVECheckBox.CheckedChanged
If ACTIVECheckBox.Checked Then
ACTIVECheckBox.BackColor = Color.Lime
Else
ACTIVECheckBox.BackColor = Color.Transparent
End If
End Sub
Private Sub btnConnections_Click(sender As Object, e As EventArgs) Handles btnConnections.Click
frmConnection.ShowDialog()
End Sub
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs)
Cursor = Cursors.WaitCursor
frmUserKonfig_AddUsers.ShowDialog()
Load_User()
Cursor = Cursors.Default
End Sub
Private Sub ToolStripButton12_Click(sender As Object, e As EventArgs)
Load_User()
End Sub
Sub Load_User()
Try
Me.TBDD_USERTableAdapter.Fill(Me.DD_DMSLiteDataSet.TBDD_USER)
Catch ex As Exception
MsgBox("Fehler bei LoadUsers: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler:")
End Try
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
Dim result As MsgBoxResult = MsgBox("Wollen Sie den Tabelleninhalt mit den Profil-Dateien wirklich löschen?" & vbNewLine & "Wenn ja müssen Sie auf die Aktualisierung des Jobs warten bis wieder Dateien zur Bearbeitung frei sind.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES") = True Then
MsgBox("Der Inhalt der Tabelle TBPM_PROFILE_FILES wurde erfolgreich gelöscht!", MsgBoxStyle.Information)
End If
End If
End Sub
Private Sub cmbObjekttypen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbObjekttypen.SelectedIndexChanged
If formloaded = False Then
Exit Sub
End If
If cmbObjekttypen.SelectedIndex <> -1 Then
Indexe_eintragen()
End If
End Sub
Private Sub Button3_Click_1(sender As Object, e As EventArgs)
Dim indexe = _windreamPM.GetIndicesByObjecttype(cmbObjekttypen.Text)
If indexe IsNot Nothing Then
For Each index As String In indexe
MsgBox(index & vbNewLine & _windreamPM.GetTypeOfIndex(index))
Select Case _windreamPM.GetTypeOfIndex(index)
Case 4107 'Vektor Zahl
Case 4097
Case Else
End Select
Next
End If
End Sub
Private Sub Button3_Click_2(sender As Object, e As EventArgs) Handles Button3.Click
Dim result As MsgBoxResult = MsgBox("Wollen Sie die Dateien für dieses Profil wirklich entfernen?" & vbNewLine & "Wenn ja müssen Sie auf die Aktualisierung des Jobs warten bis wieder Dateien zur Bearbeitung frei sind.", MsgBoxStyle.YesNo, "Bestätigung erforderlich:")
'wenn Speichern ja
If result = MsgBoxResult.Yes Then
If ClassDatabase.Execute_non_Query("DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & PROFILGUIDTextBox.Text) = True Then
MsgBox("Die Dateien zum Profil wurden erfolgreich gelöscht!", MsgBoxStyle.Information)
End If
End If
End Sub
'Private Sub TabControlFinalIndices_SelectedIndexChanged(sender As Object, e As EventArgs)
' If TabControlFinalIndices.SelectedIndex = 1 Then
' Me.cmbIndexe2.Enabled = False
' If INSERT_ACTIVE = True Then
' Me.cmbIndexe2.Enabled = True
' End If
' End If
'End Sub
'Private Sub btnSaveSQLCommand_Click(sender As Object, e As EventArgs)
' If INSERT_ACTIVE = True Then
' If cmbConnection.SelectedIndex = -1 Or SQL_COMMANDTextBox.Text = String.Empty Or cmbIndexe2.SelectedIndex = -1 Then
' MsgBox("Bitte wählen Sie eine Connection und definieren einen SQL-Befehl!", MsgBoxStyle.Exclamation)
' Exit Sub
' End If
' TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdInsert(PROFILGUIDTextBox.Text, cmbIndexe2.Text, "SQL-Command", Environment.UserName, cmbConnection.SelectedValue, SQL_COMMANDTextBox.Text)
' INSERT_ACTIVE = False
' Else
' Dim i, ID As Integer
' i = TBPM_PROFILE_FINAL_INDEXINGDataGridView.CurrentRow.Index
' ID = TBPM_PROFILE_FINAL_INDEXINGDataGridView.Item(0, i).Value
' If ID > 0 Then
' TBPM_PROFILE_FINAL_INDEXINGTableAdapter.cmdUpdateSQL(cmbConnection.SelectedValue, SQL_COMMANDTextBox.Text, Environment.UserName, ID)
' End If
' End If
' Refresh_Final_indexe()
'End Sub
'Private Sub btnEditor_Click(sender As Object, e As EventArgs)
' Try
' Dim CONID = 0
' If cmbConnection.SelectedValue > 0 Then
' CONID = cmbConnection.SelectedValue
' End If
' If INSERT_ACTIVE = True Then
' If cmbIndexe2.SelectedIndex = -1 Then
' MsgBox("Bitte wählen Sie einen Index!", MsgBoxStyle.Exclamation)
' Exit Sub
' End If
' TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdInsert(PROFILGUIDTextBox.Text, cmbIndexe2.Text, "SQL-Command", Environment.UserName, CONID, SQL_COMMANDTextBox.Text)
' End If
' Dim i, ID As Integer
' Try
' i = TBPM_PROFILE_FINAL_INDEXINGDataGridView.CurrentRow.Index
' ID = TBPM_PROFILE_FINAL_INDEXINGDataGridView.Item(0, i).Value
' If ID > 0 Then
' CURRENT_INDEX_ID = ID
' CURRENT_DESIGN_TYPE = "FINAL_INDEX"
' CURRENT_SQL_COMAMND = SQL_COMMANDTextBox.Text
' CURRENT_SQL_CON = CONID
' CURRENT_ProfilGUID = PROFILGUIDTextBox.Text
' frmSQL_DESIGNER.ShowDialog()
' End If
' Catch ex As Exception
' clsLogger.Add("Error while operating on TBPM_PROFILE_FINAL_INDEXINGDataGridView: " & ex.Message)
' End Try
' Refresh_Final_indexe()
' Catch ex As Exception
' MsgBox("Error while opening SQLEditor: " & ex.Message, MsgBoxStyle.Critical)
' clsLogger.Add("Error while opening SQLEditor: " & ex.Message)
' End Try
'End Sub
'Private Sub TBPM_PROFILE_FINAL_INDEXINGDataGridView_CellClick(sender As Object, e As DataGridViewCellEventArgs)
' Try
' TabControlFinalIndices.Enabled = False
' TabControlFinalIndices.SelectedIndex = 0
' Dim i, ID As Integer
' i = TBPM_PROFILE_FINAL_INDEXINGDataGridView.CurrentRow.Index
' ID = TBPM_PROFILE_FINAL_INDEXINGDataGridView.Item(0, i).Value
' If ID > 0 Then
' Dim sql = String.Format("SELECT T.*, T1.BEZEICHNUNG AS CON_STRING FROM TBPM_PROFILE_FINAL_INDEXING T,TBDD_CONNECTION T1 WHERE T.GUID = {0} AND T.CONNECTION_ID = T1.GUID ", ID)
' CURRENT_DT_SQL_CONFIG_TABLE = ClassDatabase.Return_Datatable(sql, True)
' Dim Type = TBPM_PROFILE_FINAL_INDEXINGDataGridView.Item(2, i).Value
' If Type = "SQL-Command" Then
' Dim Indexname = TBPM_PROFILE_FINAL_INDEXINGDataGridView.Item(1, i).Value
' TabControlFinalIndices.Enabled = True
' TabControlFinalIndices.SelectedIndex = 1
' cmbIndexe2.Text = Indexname
' cmbConnection.SelectedValue = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CONNECTION_ID")
' cmbConnection.FindStringExact(CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("CON_STRING"))
' SQL_COMMANDTextBox.Text = CURRENT_DT_SQL_CONFIG_TABLE.Rows(0).Item("SQL_COMMAND")
' End If
' End If
' Catch ex As Exception
' MsgBox("Error while loading final Index: " & ex.Message, MsgBoxStyle.Critical)
' clsLogger.Add("Error while loading final Index: " & ex.Message)
' End Try
'End Sub
'Private Sub btnShowConnections_Click(sender As Object, e As EventArgs)
' frmConnection.ShowDialog()
'End Sub
Private Sub btnUserManager_Click(sender As Object, e As EventArgs) Handles btnUserManager.Click
Try
'Dim userManagerPath As String = clsModules.GetModulePath("User Manager")
'If userManagerPath Is Nothing Then
' MsgBox("Pfad zu User Manager konnte nicht gefunden werden!", MsgBoxStyle.Critical)
'Else
' Dim exePath As String = Path.Combine(userManagerPath, "DDUserManager.exe")
' If File.Exists(exePath) Then
' Dim psi As New ProcessStartInfo(exePath)
' Process.Start(psi)
' Else
' MsgBox("Programm User Manager konnte nicht gefunden werden!", MsgBoxStyle.Critical)
' End If
'End If
If USRMNGRPATH = "" Then
With OpenFileDialog1
' Do
.Filter = "DDUserManager.Exe|*.exe"
.FilterIndex = 1
.Title = "search DDUserManager.exe:"
If .ShowDialog() = DialogResult.OK Then
USRMNGRPATH = .FileName
SaveMySettingsValue("USRMNGRPATH", .FileName)
End If
End With
End If
If File.Exists(USRMNGRPATH) Then
Process.Start(USRMNGRPATH)
End If
Catch ex As Exception
MsgBox("Error while startign User Manager:" & vbCrLf & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub tsBtnCancel_Click(sender As Object, e As EventArgs) Handles tsBtnCancel.Click
CancelFinalIndexInsert()
End Sub
Private Sub frmProfileDesigner_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
CancelFinalIndexInsert()
End Sub
Private Sub TabControl2_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles TabControl2.SelectedIndexChanged
CancelFinalIndexInsert()
End Sub
Private Sub GridView2_FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs) Handles viewFinalIndex.FocusedRowChanged
Try
Dim view As GridView = sender
Dim focusedRow As DataRow = view.GetFocusedDataRow()
If IsNothing(focusedRow) Then
Exit Sub
End If
Dim guid As Integer = focusedRow.Item("GUID")
Dim index As String = NotNull(focusedRow.Item("INDEXNAME"), Nothing)
Dim sqlCommand As String = NotNull(focusedRow.Item("SQL_COMMAND"), "")
Dim connectionId As Integer = NotNull(focusedRow.Item("CONNECTION_ID"), 0)
Dim value As String = NotNull(focusedRow.Item("VALUE"), "")
Dim active As Boolean = NotNull(focusedRow.Item("ACTIVE"), True)
Dim description As String = NotNull(focusedRow.Item("DESCRIPTION"), "")
CURRENT_INDEX_ID = guid
CURRENT_SQL_CON = connectionId
Dim obj As New FinalIndexProperties()
obj.GUID = guid
obj.IndexName = index
obj.SQLCommand = New SQLValue(sqlCommand)
obj.ConnectionId = connectionId
obj.Description = description
obj.Active = active
' Wenn eine neue Zeile hinzugefügt wird, auf StringValue setzen
If e.FocusedRowHandle <> GridControl.NewItemRowHandle Then
obj = ClassFinalIndex.SetValue(value, obj, index, Windream_Indicies, Windream_Indicies_Types)
End If
'Dim type As Integer = ClassFinalIndex.GetIndexType(index, Windream_Indicies, Windream_Indicies_Types)
'Dim isCurrentIndexVectorIndex = ClassFinalIndex.IsVectorIndex(type)
'Dim indicies As List(Of String) = Windream_Indicies.AsEnumerable _
' .Where(Function(currentIndex As String)
' Dim currentType As Integer = ClassFinalIndex.GetIndexType(currentIndex, Windream_Indicies, Windream_Indicies_Types)
' If isCurrentIndexVectorIndex Then
' Return ClassFinalIndex.IsVectorIndex(currentType)
' Else
' Return Not ClassFinalIndex.IsVectorIndex(currentType)
' End If
' End Function).ToList()
'Dim indexTypes As List(Of Integer) = Windream_Indicies_Types.AsEnumerable _
' .Where(Function(currentType)
' If isCurrentIndexVectorIndex Then
' Return ClassFinalIndex.IsVectorIndex(currentType)
' Else
' Return Not ClassFinalIndex.IsVectorIndex(currentType)
' End If
' End Function).ToList()
'obj.Indicies = indicies
'obj.IndiciesType = indexTypes
obj.Indicies = Windream_Indicies
obj.IndiciesType = Windream_Indicies_Types
obj.IndexName = index
If Not index Is Nothing Then
Dim indexType As Integer = ClassFinalIndex.GetIndexType(index, Windream_Indicies, Windream_Indicies_Types)
obj.VectorIndex = ClassFinalIndex.IsVectorIndex(indexType)
End If
PropertyGrid1.SelectedObject = obj
PropertyGrid1.Refresh()
Catch ex As Exception
MsgBox($"Error while loading Final Index properties: {ex.Message}")
ClassLogger.Add($"Error while loading Final Index properties: {ex.Message}")
End Try
End Sub
Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
INSERT_ACTIVE = True
tsBtnCancel.Visible = True
BindingNavigatorAddNewItem.Visible = False
End Sub
Private Sub ToolStripButton4_Click_1(sender As Object, e As EventArgs) Handles tsBtnSave.Click
Try
Dim obj As FinalIndexProperties = PropertyGrid1.SelectedObject
If Not IsNothing(obj) Then
Dim value
If obj.SQLCommand.Value <> String.Empty Then
value = "SQL-Command"
Else
value = ClassFinalIndex.GetValue(obj, obj.IndexName, Windream_Indicies, Windream_Indicies_Types, obj.VectorIndex)
End If
Dim guid = obj.GUID
Dim profileId As Integer = PROFILGUIDTextBox.Text
Dim connectionId As Integer = obj.ConnectionId
Dim sqlCommand As String = obj.SQLCommand.Value.Replace("'", "''")
Dim indexName As String = obj.IndexName
Dim isVectorIndex As Boolean = obj.VectorIndex
Dim addedWho As String = Environment.UserName
Dim description As String = obj.Description
Dim active As Integer = IIf(obj.Active, 1, 0)
If NotNull(indexName, "") = String.Empty Then
MsgBox("Das Feld IndexName muss ausgefüllt sein!", MsgBoxStyle.Exclamation)
Exit Sub
End If
If NotNull(sqlCommand, "") = String.Empty And NotNull(value, "") = String.Empty Then
MsgBox("Entweder SQLCommand oder StaticValue müssen ausgefüllt sein!", MsgBoxStyle.Exclamation)
Exit Sub
End If
If obj.VectorIndex Then
value = $"{ClassFinalIndex.PREFIX_VECTOR}{value}"
End If
If INSERT_ACTIVE = True Then
Dim sql As String = $"INSERT INTO TBPM_PROFILE_FINAL_INDEXING (PROFIL_ID, CONNECTION_ID, SQL_COMMAND, INDEXNAME, VALUE, ACTIVE, ADDED_WHO)
VALUES ({profileId}, {connectionId}, '{sqlCommand}', '{indexName}', '{value}', {active}, '{addedWho}')"
If ClassDatabase.Execute_non_Query(sql, True) Then
INSERT_ACTIVE = False
End If
Else
Dim sql As String = $"UPDATE TBPM_PROFILE_FINAL_INDEXING
SET CONNECTION_ID = {connectionId}, SQL_COMMAND = '{sqlCommand}', INDEXNAME = '{indexName}', CHANGED_WHO = '{addedWho}',
VALUE = '{value}', ACTIVE = {active}
WHERE GUID = {guid}"
If ClassDatabase.Execute_non_Query(sql, True) Then
End If
End If
Refresh_Final_indexe()
End If
Catch ex As Exception
MsgBox("Error while Saving Final Index: " & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Error while Saving Final Index: " & ex.Message)
Finally
tsBtnCancel.Visible = False
BindingNavigatorAddNewItem.Visible = True
INSERT_ACTIVE = False
End Try
End Sub
Private Sub PropertyGrid1_PropertyValueChanged(s As Object, e As PropertyValueChangedEventArgs) Handles PropertyGrid1.PropertyValueChanged
Dim propertyGrid As PropertyGrid = s
Dim obj As FinalIndexProperties = propertyGrid.SelectedObject
If TypeOf (e.ChangedItem.Value) Is SQLValue Then
Dim value As SQLValue = e.ChangedItem.Value
If value.Value <> String.Empty Then
obj.ConnectionId = CURRENT_SQL_CON
obj.StringValue = "SQL-Command"
End If
propertyGrid.Refresh()
ElseIf e.ChangedItem.Label = "IndexName" Then
Dim type As Integer = ClassFinalIndex.GetIndexType(e.ChangedItem.Value, Windream_Indicies, Windream_Indicies_Types)
obj.VectorIndex = ClassFinalIndex.IsVectorIndex(type)
propertyGrid.Refresh()
End If
End Sub
Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorDeleteItem.Click
Dim selectedRowHandle = viewFinalIndex.GetSelectedRows().First()
Dim row As DataRow = viewFinalIndex.GetDataRow(selectedRowHandle)
If Not IsNothing(row) Then
If MsgBox("Wollen Sie den Index wirklich löschen?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
TBPM_PROFILE_FINAL_INDEXINGTableAdapter.CmdDelete(row.Item("GUID"))
Refresh_Final_indexe()
MsgBox("Index erfolgreich gelöscht!", MsgBoxStyle.Information, "Hinweis:")
End If
End If
End Sub
Private Sub ToolStripButton5_Click(sender As Object, e As EventArgs) Handles ToolStripButton5.Click
Refresh_Final_indexe()
End Sub
Private Sub tsBtnCancel_Click_1(sender As Object, e As EventArgs) Handles tsBtnCancel.Click
CancelFinalIndexInsert()
End Sub
'Private Sub viewFinalIndex_ValidateRow(sender As Object, e As Views.Base.ValidateRowEventArgs) Handles viewFinalIndex.ValidateRow
' Dim rowView As DataRowView = e.Row
' If rowView.IsNew Then
' Dim props As FinalIndexProperties = PropertyGrid1.SelectedObject
' End If
'End Sub
End Class