Imports DD_LIB_Standards Public Class frmAdministration Private SelectedProcessName As String Private Const MAX_DATA_SEARCHES = 5 Private Const MAX_DOC_SEARCHES = 5 Class ProfileType Public Name As String Public Id As Int16 Public Overrides Function ToString() As String Return Name End Function End Class Private Sub frmAdministration_Load(sender As Object, e As EventArgs) Handles MyBase.Load Load_Profiles() Load_ProfileTypes() Load_Connections() End Sub Private Sub TBCW_PROFILESBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Save_Profile() ClassInit.Refresh_Profile_Links() TableAdapterManager.UpdateAll(MyDataset) End Sub Sub Load_Profiles() Try TBCW_PROFILESTableAdapter.Connection.ConnectionString = MyConnectionString TBCW_PROFILESTableAdapter.Fill(Me.MyDataset.TBCW_PROFILES) Catch ex As Exception MsgBox("Unexpected Error in Load Profiles: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub Load_ProfileTypes() Dim oTypeNames As New Dictionary(Of Integer, String) From { {ClassConstants.PROFILE_TYPE_DATA_DOCS, "Dokumente und Daten"}, {ClassConstants.PROFILE_TYPE_DOCS_ONLY, "Nur Dokumente"}, {ClassConstants.PROFILE_TYPE_DATA_ONLY, "Nur Daten"} } MyDataset.TBWH_PROFILE_TYPE.Rows.Clear() For Each oTypeName As KeyValuePair(Of Integer, String) In oTypeNames Dim oRow = MyDataset.TBWH_PROFILE_TYPE.NewTBWH_PROFILE_TYPERow() oRow.TYPE_ID = oTypeName.Key oRow.TYPE_NAME = oTypeName.Value MyDataset.TBWH_PROFILE_TYPE.Rows.Add(oRow) Next End Sub Public Sub Load_Connections() Try TBDD_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString TBDD_CONNECTIONTableAdapter.Fill(MyDataset.TBDD_CONNECTION) Catch ex As Exception MsgBox("Unexpected Error in Load Connections: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub Save_Profile() Try Me.TBCW_PROFILESBindingSource.EndEdit() If Not IsNothing(MyDataset.TBCW_PROFILES.GetChanges) Then Me.CHANGEDWHOTextBox.Text = Environment.UserName Me.TBCW_PROFILESBindingSource.EndEdit() Me.TBCW_PROFILESTableAdapter.Update(MyDataset.TBCW_PROFILES) Status_Changed("Profil gespeichert") Else Status_Changed("Keine Änderung") End If Catch ex As Exception MsgBox("Unexpected Error in Save Profile: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub Status_Changed(text As String) labelStatus.Visibility = DevExpress.XtraBars.BarItemVisibility.Always labelStatus.Caption = $"{text} - {Now.ToShortTimeString}" End Sub Private Sub TBCW_PROFILESBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBCW_PROFILESBindingSource.AddingNew MyDataset.TBCW_PROFILES.ADDED_WHOColumn.DefaultValue = Environment.UserName MyDataset.TBCW_PROFILES.PROFILE_TYPEColumn.DefaultValue = 0 MyDataset.TBCW_PROFILES.WD_SEARCHColumn.DefaultValue = String.Empty MyDataset.TBCW_PROFILES.REGEX_EXPRESSIONColumn.DefaultValue = ".+" MyDataset.TBCW_PROFILES.ACTIVEColumn.DefaultValue = True XtraTabControl3.SelectedTabPage = TabPageGeneralSettings End Sub Private Sub GUIDTextBox_TextChanged(sender As Object, e As EventArgs) Handles GUIDTextBox.TextChanged If GUIDTextBox.Text <> "" Then Refresh_ProfileData() Refresh_Free_Users(GUIDTextBox.Text) Refresh_Free_Groups(GUIDTextBox.Text) Load_Profile_Process() End If End Sub Sub Refresh_ProfileData() Try VWUSER_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString VWUSER_PROFILETableAdapter.Fill(MyDataset.VWUSER_PROFILE, GUIDTextBox.Text) VWCW_GROUP_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString VWCW_GROUP_PROFILETableAdapter.Fill(MyDataset.VWCW_GROUP_PROFILE, GUIDTextBox.Text) TBCW_PROF_DOC_SEARCHTableAdapter.Connection.ConnectionString = MyConnectionString TBCW_PROF_DOC_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DOC_SEARCH, GUIDTextBox.Text) If MyDataset.TBCW_PROF_DOC_SEARCH.Count = 0 Then LayoutControlDocs.Enabled = False End If TBCW_PROF_DATA_SEARCHTableAdapter.Connection.ConnectionString = MyConnectionString TBCW_PROF_DATA_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DATA_SEARCH, GUIDTextBox.Text) If MyDataset.TBCW_PROF_DATA_SEARCH.Count = 0 Then LayoutControlData.Enabled = False End If Catch ex As Exception MsgBox("Unexpected Error in Refresh Profile User: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub btnAddUser2Profile_Click(sender As Object, e As EventArgs) Try Try Dim i As Integer = CInt(GUIDTextBox.Text) Catch ex As Exception Exit Sub End Try For Each row As DataRow In MyDataset.TBWH_User.Rows If row.Item(0) = CBool(True) Then Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, row.Item(5)) If clsDatabase.Execute_non_Query(insert) = False Then MsgBox("Could not insert the User-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If End If Next For Each row As DataRow In MyDataset.TBWH_User.Rows row.Item(0) = CBool(False) Next If GUIDTextBox.Text <> "" Then Refresh_Free_Users(GUIDTextBox.Text) Refresh_ProfileData() End If Catch ex As Exception MsgBox("Unexpected Error while adding user-rights: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub Refresh_Free_Users(PROFILE_ID As Integer) Dim Sql = String.Format("SELECT DISTINCT * FROM VWDD_USER_MODULE_CW WHERE GUID NOT IN (SELECT USER_ID FROM TBCW_USER_PROFILE WHERE PROFILE_ID = {0}) ORDER BY USERNAME", PROFILE_ID) Dim DT_USER = clsDatabase.Return_Datatable(Sql) Try MyDataset.TBWH_User.Clear() For Each row As DataRow In DT_USER.Rows Dim newUserRow As MyDataset.TBWH_UserRow newUserRow = MyDataset.TBWH_User.NewTBWH_UserRow newUserRow.Username = row.Item("USERNAME") newUserRow.Surname = row.Item("NAME") newUserRow.Prename = row.Item("PRENAME") Try newUserRow.Email = row.Item("EMAIL") Catch ex As Exception newUserRow.Email = "" End Try newUserRow.ID = row.Item("GUID") MyDataset.TBWH_User.Rows.Add(newUserRow) ' chklbxUserForGroup.Items.Add(New MyListBoxItem() With {.Text = row.Item(1), .ExtraData = row.Item(0)}) Next Catch ex As Exception MsgBox("Unexpected Error in Refresh_Free_Users: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub Refresh_Free_Groups(PROFILE_ID As Integer) Dim Sql = String.Format("SELECT DISTINCT * FROM TBDD_GROUPS WHERE GUID NOT IN (SELECT GROUP_ID FROM TBCW_GROUP_PROFILE WHERE PROFILE_ID = {0}) ORDER BY NAME", PROFILE_ID) Dim oDataTable = clsDatabase.Return_Datatable(Sql) Try MyDataset.TBWH_GROUP.Clear() For Each row As DataRow In oDataTable.Rows Dim oNewRow As MyDataset.TBWH_GROUPRow oNewRow = MyDataset.TBWH_GROUP.NewTBWH_GROUPRow oNewRow.NAME = row.Item("NAME") oNewRow.ID = row.Item("GUID") MyDataset.TBWH_GROUP.Rows.Add(oNewRow) Next Catch ex As Exception MsgBox("Unexpected Error in Refresh_Free_Groups: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub btndeleteUserConstructorRel_Click(sender As Object, e As EventArgs) Try Dim ID = GridViewUserInProfile.GetFocusedRowCellValue(GridViewUserInProfile.Columns("GUID")) Try Dim I As Integer = CInt(ID) Catch ex As Exception Exit Sub End Try Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", ID) If clsDatabase.Execute_non_Query(del) = True Then Refresh_ProfileData() If GUIDTextBox.Text <> "" Then Refresh_Free_Users(GUIDTextBox.Text) End If End If Catch ex As Exception MsgBox("Unexpected Error in deleting ProfileUserRelation: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub Load_Profile_Process() If IsNothing(GUIDTextBox.Text) Or GUIDTextBox.Text = "" Then Exit Sub End If If CtrlApplicationAssignment1.Process_Load(GUIDTextBox.Text) = False Then MsgBox("Unexpected Error while loading processes:", MsgBoxStyle.Critical) End If End Sub Private Sub frmAdministration_Shown(sender As Object, e As EventArgs) Handles Me.Shown If GUIDTextBox.Text = "" Then Refresh_Free_Users(0) Refresh_Free_Groups(0) End If End Sub Private Sub TBCW_PROF_DATA_SEARCHBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBCW_PROF_DATA_SEARCHBindingSource.AddingNew MyDataset.TBCW_PROF_DATA_SEARCH.ADDED_WHOColumn.DefaultValue = Environment.UserName MyDataset.TBCW_PROF_DATA_SEARCH.PROFILE_IDColumn.DefaultValue = GUIDTextBox.Text MyDataset.TBCW_PROF_DATA_SEARCH.CONN_IDColumn.DefaultValue = 1 MyDataset.TBCW_PROF_DATA_SEARCH.ACTIVEColumn.DefaultValue = True LayoutControlData.Enabled = True End Sub Private Sub TBCW_PROF_DOC_SEARCHBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBCW_PROF_DOC_SEARCHBindingSource.AddingNew MyDataset.TBCW_PROF_DOC_SEARCH.ADDED_WHOColumn.DefaultValue = Environment.UserName MyDataset.TBCW_PROF_DOC_SEARCH.ACTIVEColumn.DefaultValue = True MyDataset.TBCW_PROF_DOC_SEARCH.PROFILE_IDColumn.DefaultValue = GUIDTextBox.Text MyDataset.TBCW_PROF_DOC_SEARCH.CONN_IDColumn.DefaultValue = 1 LayoutControlDocs.Enabled = True End Sub Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Try TBCW_PROF_DATA_SEARCHBindingSource.EndEdit() If Not IsNothing(MyDataset.TBCW_PROF_DATA_SEARCH.GetChanges) Then CHANGED_WHOTextBox1.Text = Environment.UserName TBCW_PROF_DATA_SEARCHBindingSource.EndEdit() TBCW_PROF_DATA_SEARCHTableAdapter.Update(MyDataset.TBCW_PROF_DATA_SEARCH) End If Catch ex As Exception MsgBox("Unexpected Error in Save Data Search: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub TBCW_PROF_REL_WINDOWBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) MyDataset.TBCW_PROF_REL_WINDOW.ADDED_WHOColumn.DefaultValue = Environment.UserName MyDataset.TBCW_PROF_REL_WINDOW.PROFILE_IDColumn.DefaultValue = GUIDTextBox.Text MyDataset.TBCW_PROF_REL_WINDOW.PROCESS_NAMEColumn.DefaultValue = SelectedProcessName End Sub Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick TBCW_PROFILESBindingSource.AddNew() End Sub Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick Save_Profile() ClassInit.Refresh_Profile_Links() 'TableAdapterManager.UpdateAll(MyDataset) End Sub Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick Dim swl = String.Format("EXEC PRCW_DELETE_PROFILE {0}", GUIDTextBox.Text) Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie das Profil löschen wollen?", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") ' wenn Speichern ja If result = MsgBoxResult.Yes Then If clsDatabase.Execute_non_Query(swl) = True Then Load_Profiles() End If End If End Sub Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Load_Profiles() Refresh_ProfileData() Try Dim ID = CInt(GUIDTextBox.Text) Catch ex As Exception Exit Sub End Try Refresh_Free_Users(GUIDTextBox.Text) Refresh_Free_Groups(GUIDTextBox.Text) End Sub Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick If CtrlApplicationAssignment1.Process_CreateAssignment(GUIDTextBox.Text) = False Then MsgBox("Error while assigning process!", MsgBoxStyle.Critical, "Clipboard Watcher") End If Status_Changed("Prozess zugeordnet") End Sub Private Sub BarButtonItem6_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick If MsgBox($"Wollen Sie den Prozess löschen?" & vbNewLine & "Dies wird alle Fenster löschen, die diesem Prozess zugeordnet sind!", MsgBoxStyle.Exclamation Or MsgBoxStyle.YesNo, "Prozess löschen") = MsgBoxResult.No Then Exit Sub End If If CtrlApplicationAssignment1.Process_DeleteAssignment() = False Then MsgBox("Error while deleting assignment of process!", MsgBoxStyle.Critical, "Clipboard Watcher") End If Status_Changed("Prozesszuordnung gelöscht") End Sub Private Sub BarButtonItem7_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem7.ItemClick If CtrlApplicationAssignment1.Window_CreateAssignment(GUIDTextBox.Text) = False Then MsgBox("Error while assigning window!", MsgBoxStyle.Critical, "Clipboard Watcher") End If Status_Changed("Fenster zugeordnet") End Sub Private Sub BarButtonItem8_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem8.ItemClick If MsgBox($"Wollen Sie die Fenster-Zuordnung löschen?", MsgBoxStyle.Exclamation Or MsgBoxStyle.YesNo, "Prozess löschen") = MsgBoxResult.No Then Exit Sub End If If CtrlApplicationAssignment1.Window_DeleteAssignment() = False Then MsgBox("Error while deleting assignment of window!", MsgBoxStyle.Critical, "Clipboard Watcher") End If Status_Changed("Fensterzuordnung gelöscht") End Sub Private Sub BarButtonItem11_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem11.ItemClick Try If GUIDTextBox.Text = String.Empty Then Exit Sub End If Dim oSelectedRows = GridViewUserNotInProfile.GetSelectedRows() For Each oRowHandle As Integer In oSelectedRows Dim oRow As DataRow = GridViewUserNotInProfile.GetDataRow(oRowHandle) Dim oGuid As Integer = oRow.Item("ID") Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, oGuid) If clsDatabase.Execute_non_Query(insert) = False Then MsgBox("Error while adding user!", MsgBoxStyle.Exclamation) End If Next Refresh_Free_Users(GUIDTextBox.Text) Refresh_ProfileData() GridViewUserNotInProfile.ClearSelection() Status_Changed($"{oSelectedRows.Count} Benutzer zugeordnet") Catch ex As Exception Logger.Error(ex) MsgBox("Unexpected Error while adding user-rights: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub BarButtonItem12_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem12.ItemClick Try If GUIDTextBox.Text = String.Empty Then Exit Sub End If Dim oSelectedRows = GridViewUserInProfile.GetSelectedRows() For Each oRowHandle As Integer In oSelectedRows Dim oRow As DataRow = GridViewUserInProfile.GetDataRow(oRowHandle) Dim oGuid As Integer = oRow.Item("GUID") Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", oGuid) If clsDatabase.Execute_non_Query(del) = False Then MsgBox("Error while adding user!", MsgBoxStyle.Exclamation) End If Next Refresh_Free_Users(GUIDTextBox.Text) Refresh_ProfileData() GridViewUserInProfile.ClearSelection() Status_Changed($"{oSelectedRows.Count} Benutzerzuordnungen gelöscht") Catch ex As Exception Logger.Error(ex) MsgBox("Unexpected Error in deleting ProfileUserRelation: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub BarButtonItem13_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem13.ItemClick Try Dim oSelectedGroups = GridViewGroupNotInProfile.GetSelectedRows() For Each oRowHandle In oSelectedGroups Dim oRow As MyDataset.TBWH_GROUPRow = DirectCast(GridViewGroupNotInProfile.GetRow(oRowHandle), DataRowView).Row Dim oGroupId As Integer = oRow.ID Dim oSQL As String = $"INSERT INTO TBCW_GROUP_PROFILE (PROFILE_ID,GROUP_ID) VALUES ({GUIDTextBox.Text},{oGroupId})" If clsDatabase.Execute_non_Query(oSQL) = False Then MsgBox("Could not insert the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If Next GridViewGroupNotInProfile.ClearSelection() Refresh_Free_Groups(GUIDTextBox.Text) Refresh_ProfileData() Status_Changed($"{oSelectedGroups.Count} Gruppen zugeordnet") Catch ex As Exception MsgBox("Unexpected Error while adding Group-Rights: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub BarButtonItem14_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem14.ItemClick Try Dim oSelectedGroups = GridViewGroupInProfile.GetSelectedRows() For Each oRowHandle In oSelectedGroups Dim oRow As MyDataset.VWCW_GROUP_PROFILERow = DirectCast(GridViewGroupInProfile.GetRow(oRowHandle), DataRowView).Row Dim oGroupId As Integer = oRow.GUID Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WHERE GUID = ({oGroupId})" If clsDatabase.Execute_non_Query(oSQL) = False Then MsgBox("Could not delete the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If Next GridViewGroupInProfile.ClearSelection() Refresh_Free_Groups(GUIDTextBox.Text) Refresh_ProfileData() Status_Changed($"{oSelectedGroups.Count} Gruppenzuordnungen gelöscht") Catch ex As Exception MsgBox("Unexpected Error in deleting Group-Rights: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub XtraTabControl3_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControl3.SelectedPageChanged Dim oTabName As String = e.Page.Name Select Case oTabName Case TabPageProcessAssignment.Name RibbonGroupProfile.Enabled = False RibbonGroupUser.Enabled = False RibbonGroupProcess.Enabled = True RibbonGroupGroup.Enabled = False RibbonGroupWindow.Enabled = True RibbonGroupDocSearch.Enabled = False RibbonGroupDataSearch.Enabled = False Case TabPageUserAssignment.Name RibbonGroupProfile.Enabled = False RibbonGroupUser.Enabled = True RibbonGroupProcess.Enabled = False RibbonGroupGroup.Enabled = False RibbonGroupWindow.Enabled = False RibbonGroupDocSearch.Enabled = False RibbonGroupDataSearch.Enabled = False Case TabPageGroupAssignment.Name RibbonGroupProfile.Enabled = False RibbonGroupUser.Enabled = False RibbonGroupProcess.Enabled = False RibbonGroupGroup.Enabled = True RibbonGroupWindow.Enabled = False RibbonGroupDocSearch.Enabled = False RibbonGroupDataSearch.Enabled = False Case TabPageData.Name RibbonGroupProfile.Enabled = False RibbonGroupUser.Enabled = False RibbonGroupProcess.Enabled = False RibbonGroupGroup.Enabled = False RibbonGroupWindow.Enabled = False RibbonGroupDocSearch.Enabled = False RibbonGroupDataSearch.Enabled = True Case TabPageDocuments.Name RibbonGroupProfile.Enabled = False RibbonGroupUser.Enabled = False RibbonGroupProcess.Enabled = False RibbonGroupGroup.Enabled = False RibbonGroupWindow.Enabled = False RibbonGroupDocSearch.Enabled = True RibbonGroupDataSearch.Enabled = False Case Else RibbonGroupProfile.Enabled = True RibbonGroupUser.Enabled = False RibbonGroupProcess.Enabled = False RibbonGroupGroup.Enabled = False RibbonGroupWindow.Enabled = False RibbonGroupDocSearch.Enabled = False RibbonGroupDataSearch.Enabled = False End Select End Sub Private Sub BarButtonItem16_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem16.ItemClick Dim oForm As New frmConnection() oForm.ShowDialog() End Sub Private Sub BarButtonItem9_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem9.ItemClick If CtrlApplicationAssignment1.Window_SaveAssignment() = False Then MsgBox("Error while saving window", MsgBoxStyle.Critical, Text) End If Status_Changed("Fensterzuordnung gespeichert") End Sub Private Sub BarButtonItem17_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem17.ItemClick Dim oform As New frmLicenseInfo() oform.ShowDialog() End Sub Private Sub BarButtonItem15_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem15.ItemClick If TBCW_PROF_DOC_SEARCHBindingSource.Count = MAX_DOC_SEARCHES Then MsgBox($"Es können nicht mehr als {MAX_DOC_SEARCHES} Dokument-Suchen angelegt werden!", MsgBoxStyle.Exclamation, Text) Exit Sub End If TBCW_PROF_DOC_SEARCHBindingSource.AddNew() End Sub Private Sub BarButtonItem21_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem21.ItemClick If txtDATAGUID.Text = String.Empty Then Exit Sub End If Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie diese Suche löschen wollen?", MsgBoxStyle.YesNo, Text) If result = MsgBoxResult.Yes Then TBCW_PROF_DATA_SEARCHTableAdapter.Delete(txtDATAGUID.Text) TBCW_PROF_DATA_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DATA_SEARCH, GUIDTextBox.Text) Status_Changed("Daten-Suche gelöscht") End If End Sub Private Sub BarButtonItem22_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem22.ItemClick Try TBCW_PROF_DATA_SEARCHBindingSource.EndEdit() If Not IsNothing(MyDataset.TBCW_PROF_DATA_SEARCH.GetChanges) Then CHANGED_WHOTextBox1.Text = Environment.UserName TBCW_PROF_DATA_SEARCHBindingSource.EndEdit() TBCW_PROF_DATA_SEARCHTableAdapter.Update(MyDataset.TBCW_PROF_DATA_SEARCH) TBCW_PROF_DATA_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DATA_SEARCH, GUIDTextBox.Text) Status_Changed("Daten-Suche gespeichert") End If Catch ex As NoNullAllowedException MsgBox("Ein oder mehrere Felder wurden nicht ausgefüllt:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text) Catch ex As Exception MsgBox("Unexpected Error while saving Data Search: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub BarButtonItem20_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem20.ItemClick If TBCW_PROF_DATA_SEARCHBindingSource.Count = MAX_DATA_SEARCHES Then MsgBox($"Es können nicht mehr als {MAX_DATA_SEARCHES} Daten-Suchen angelegt werden!", MsgBoxStyle.Exclamation, Text) Exit Sub End If TBCW_PROF_DATA_SEARCHBindingSource.AddNew() End Sub Private Sub BarButtonItem18_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem18.ItemClick Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie diese Suche löschen wollen?", MsgBoxStyle.YesNo, Text) If result = MsgBoxResult.Yes Then TBCW_PROF_DOC_SEARCHTableAdapter.Delete(txtDOC_GUID.Text) TBCW_PROF_DOC_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DOC_SEARCH, GUIDTextBox.Text) Status_Changed("Dokument-Suche gelöscht") End If End Sub Private Sub BarButtonItem19_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem19.ItemClick Try TBCW_PROF_DOC_SEARCHBindingSource.EndEdit() If Not IsNothing(MyDataset.TBCW_PROF_DOC_SEARCH.GetChanges) Then CHANGED_WHOTextBox2.Text = Environment.UserName TBCW_PROF_DOC_SEARCHBindingSource.EndEdit() TBCW_PROF_DOC_SEARCHTableAdapter.Update(MyDataset.TBCW_PROF_DOC_SEARCH) TBCW_PROF_DOC_SEARCHTableAdapter.Fill(MyDataset.TBCW_PROF_DOC_SEARCH, GUIDTextBox.Text) Status_Changed("Dokument-Suche gespeichert") End If Catch ex As NoNullAllowedException MsgBox("Ein oder mehrere Felder wurden nicht ausgefüllt:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text) Catch ex As Exception MsgBox("Unexpected Error while saving Document Search: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub End Class