diff --git a/app/DD-Record-Organiser/ClassControlBuilder.vb b/app/DD-Record-Organiser/ClassControlBuilder.vb index 1c8a903..cc96682 100644 --- a/app/DD-Record-Organiser/ClassControlBuilder.vb +++ b/app/DD-Record-Organiser/ClassControlBuilder.vb @@ -181,35 +181,38 @@ Public Class ClassControlBuilder Dim controlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id CONTROL_ID = controlId - Dim expression As String - expression = "ENTITY_ID = " & CURRENT_FORM_ID - Dim foundControls() As DataRow - ' Use the Select method to find all rows matching the filter. - foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) - Dim i As Integer - Dim NODE_CONFIG_ID + + If CtrlCommandUI.IsEdit Then + Dim expression As String + expression = "ENTITY_ID = " & CURRENT_FORM_ID + Dim foundControls() As DataRow + ' Use the Select method to find all rows matching the filter. + foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) + Dim i As Integer - ' Check if control is one of rightcontrols - For i = 0 To foundControls.GetUpperBound(0) - If foundControls(i)("CONTROL_ID") = CONTROL_ID Then - RIGHT_CONTROL_CHANGED = True - Dim msg = MSG_RIGHTMODULE_DE - If USER_LANGUAGE <> "de-DE" Then - msg = MSG_RIGHTMODULE_EN_US - End If - Dim result As MsgBoxResult - result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - If result = MsgBoxResult.No Then - CtrlBuilder.ControlsChanged.Remove(controlId) - ' Y U NO WORK?? - Dim text = CURRENT_TEXTBOX_SELECTED_TEXT - textbox.Text = text + ' Check if control is one of rightcontrols + For i = 0 To foundControls.GetUpperBound(0) + If foundControls(i)("CONTROL_ID") = CONTROL_ID Then + RIGHT_CONTROL_CHANGED = True + Dim msg = MSG_RIGHTMODULE_DE + If USER_LANGUAGE <> "de-DE" Then + msg = MSG_RIGHTMODULE_EN_US + End If + Dim result As MsgBoxResult + result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If result = MsgBoxResult.No Then + CtrlBuilder.ControlsChanged.Remove(controlId) + ' Y U NO WORK?? + Dim text = CURRENT_TEXTBOX_SELECTED_TEXT + textbox.Text = text - CURRENT_RECORD_ENABLED = True - Exit Sub + CURRENT_RECORD_ENABLED = True + Exit Sub + End If End If - End If - Next + Next + End If + Catch ex As Exception If ex.Message.Contains("Objektverweis") Or ex.Message.Contains("reference not set") Then @@ -553,37 +556,39 @@ Public Class ClassControlBuilder Dim combo As CustomComboBox = DirectCast(control, CustomComboBox) Dim controlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id CONTROL_ID = controlId + If CtrlCommandUI.IsEdit Then + Dim expression As String + expression = "ENTITY_ID = " & CURRENT_FORM_ID + Dim foundControls() As DataRow + ' Use the Select method to find all rows matching the filter. + foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) + Dim i As Integer + Dim NODE_CONFIG_ID + ' Check if control is one of rightcontrols + For i = 0 To foundControls.GetUpperBound(0) + If foundControls(i)("CONTROL_ID") = CONTROL_ID Then + RIGHT_CONTROL_CHANGED = True + Dim msg = MSG_RIGHTMODULE_DE + If USER_LANGUAGE <> "de-DE" Then + msg = MSG_RIGHTMODULE_EN_US + End If + Dim result As MsgBoxResult + result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If result = MsgBoxResult.No Then + CtrlBuilder.ControlsChanged.Remove(controlId) + ' Y U NO WORK?? + Dim text = CURRENT_COMBOBOX_SELECTED_TEXT + combo.SelectedIndex = -1 + combo.SelectedText = text + combo.Text = text - Dim expression As String - expression = "ENTITY_ID = " & CURRENT_FORM_ID - Dim foundControls() As DataRow - ' Use the Select method to find all rows matching the filter. - foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) - Dim i As Integer - Dim NODE_CONFIG_ID - ' Check if control is one of rightcontrols - For i = 0 To foundControls.GetUpperBound(0) - If foundControls(i)("CONTROL_ID") = CONTROL_ID Then - RIGHT_CONTROL_CHANGED = True - Dim msg = MSG_RIGHTMODULE_DE - If USER_LANGUAGE <> "de-DE" Then - msg = MSG_RIGHTMODULE_EN_US + CURRENT_RECORD_ENABLED = True + Exit Sub + End If End If - Dim result As MsgBoxResult - result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - If result = MsgBoxResult.No Then - CtrlBuilder.ControlsChanged.Remove(controlId) - ' Y U NO WORK?? - Dim text = CURRENT_COMBOBOX_SELECTED_TEXT - combo.SelectedIndex = -1 - combo.SelectedText = text - combo.Text = text - - CURRENT_RECORD_ENABLED = True - Exit Sub - End If - End If - Next + Next + End If + Dim onRecordChangedHandler As EventHandler = CType(Me.Events(_onRecordChangedName), EventHandler) If Not ControlsChanged.Contains(controlId) Then @@ -648,37 +653,39 @@ Public Class ClassControlBuilder CONTROL_ID = controlId control.Update() + If CtrlCommandUI.IsEdit Then + Dim expression As String + expression = "ENTITY_ID = " & CURRENT_FORM_ID + Dim foundControls() As DataRow + ' Use the Select method to find all rows matching the filter. + foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) + Dim i As Integer + ' Check if control is one of rightcontrols + For i = 0 To foundControls.GetUpperBound(0) + If foundControls(i)("CONTROL_ID") = CONTROL_ID Then + RIGHT_CONTROL_CHANGED = True + Dim msg = MSG_RIGHTMODULE_DE + If USER_LANGUAGE <> "de-DE" Then + msg = MSG_RIGHTMODULE_EN_US + End If + Dim result As MsgBoxResult + result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If result = MsgBoxResult.No Then + RIGHT_CONTROL_CHANGED = False + CtrlBuilder.ControlsChanged.Remove(controlId) - Dim expression As String - expression = "ENTITY_ID = " & CURRENT_FORM_ID - Dim foundControls() As DataRow - ' Use the Select method to find all rows matching the filter. - foundControls = CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS.Select(expression) - Dim i As Integer - ' Check if control is one of rightcontrols - For i = 0 To foundControls.GetUpperBound(0) - If foundControls(i)("CONTROL_ID") = CONTROL_ID Then - RIGHT_CONTROL_CHANGED = True - Dim msg = MSG_RIGHTMODULE_DE - If USER_LANGUAGE <> "de-DE" Then - msg = MSG_RIGHTMODULE_EN_US + Dim loadedValues As List(Of Object) = (From row In CURRENT_CONTROL_VALUES.AsEnumerable() + Where row.Item("CONTROL_ID") = controlId + Select row.Item("VALUE")).ToList() + + ClassControlValues.LoadControlValue(CURRENT_RECORD_ID, CURRENT_PARENT_RECORD_ID, CONTROL_ID, control, loadedValues, CURRENT_FORM_ID) + RECORD_CHANGED = False + Exit Sub + End If End If - Dim result As MsgBoxResult - result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - If result = MsgBoxResult.No Then - RIGHT_CONTROL_CHANGED = False - CtrlBuilder.ControlsChanged.Remove(controlId) - - Dim loadedValues As List(Of Object) = (From row In CURRENT_CONTROL_VALUES.AsEnumerable() - Where row.Item("CONTROL_ID") = controlId - Select row.Item("VALUE")).ToList() - - ClassControlValues.LoadControlValue(CURRENT_RECORD_ID, CURRENT_PARENT_RECORD_ID, CONTROL_ID, control, loadedValues, CURRENT_FORM_ID) - RECORD_CHANGED = False - Exit Sub - End If - End If - Next + Next + End If + 'SQL für abhängige Auswahllisten Dim SQL As String = String.Format("SELECT GUID, SQL_COMMAND_1,CONTROL_TYPE_ID,FORMAT_TYPE FROM TBPMO_CONTROL WHERE SQL_COMMAND_1 LIKE '%@{0}@%'", controlId) 'SQL für enable control diff --git a/app/DD-Record-Organiser/ClassControlCommandsUI.vb b/app/DD-Record-Organiser/ClassControlCommandsUI.vb index b2d6af1..4e185c3 100644 --- a/app/DD-Record-Organiser/ClassControlCommandsUI.vb +++ b/app/DD-Record-Organiser/ClassControlCommandsUI.vb @@ -10,7 +10,7 @@ Public Class ClassControlCommandsUI Private _ContextMenuStrip As ContextMenuStrip Public IsInsert As Boolean = False - + Public IsEdit As Boolean = False ''' ''' Erstellt eine neue Instanz der ClassControlCommandsUI Klasse ''' diff --git a/app/DD-Record-Organiser/ClassControlLoader.vb b/app/DD-Record-Organiser/ClassControlLoader.vb index a7980fd..3cb4cd2 100644 --- a/app/DD-Record-Organiser/ClassControlLoader.vb +++ b/app/DD-Record-Organiser/ClassControlLoader.vb @@ -454,8 +454,10 @@ End If End While Next + If CtrlCommandUI.IsInsert Or CtrlCommandUI.IsEdit Then + CURRENT_RECORD_ENABLED = True + End If - CURRENT_RECORD_ENABLED = True End Sub Public Shared Sub LoadList(control As DevExpress.XtraEditors.CheckedListBoxControl, formId As Integer, conn_Id As Object, SQLCommand As String) diff --git a/app/DD-Record-Organiser/ModuleRuntimeVariables.vb b/app/DD-Record-Organiser/ModuleRuntimeVariables.vb index 6687687..9d0f44b 100644 --- a/app/DD-Record-Organiser/ModuleRuntimeVariables.vb +++ b/app/DD-Record-Organiser/ModuleRuntimeVariables.vb @@ -106,8 +106,8 @@ Public RIGHT_CONTROL_CHANGED As Boolean = False Public MSG_RIGHTMODULE_DE = "Achtung: " & vbNewLine & "Sie haben Änderungen an Rechte-relevanten Eingaben vorgenommen!" & vbNewLine & _ "Alle Rechte der zu diesem Datensatz gespeicherten Dateien werden nach Speichern serverseitig und im Hintergrund überprüft!" & vbNewLine & _ - "Dies kann je nach Anzahl der Dateien bis zu 15 Minuten dauern!" & vbNewLine & "Wollen Sie fortfahren?" + "Dies kann je nach Anzahl der Dateien bis zu 10 Minuten dauern!" & vbNewLine & "Wollen Sie fortfahren?" Public MSG_RIGHTMODULE_EN_US = "Attention:" & "You applied changes to right-relevant data!" & vbNewLine & _ "All rights of files belonging to this record will be checked and changed after Saving!" & vbNewLine & _ - "This might take up to 15 Minutes (related to the amount of files)!" & vbNewLine & "Would You like to continue?" + "This might take up to 10 Minutes (related to the amount of files)!" & vbNewLine & "Would You like to continue?" End Module diff --git a/app/DD-Record-Organiser/My Project/AssemblyInfo.vb b/app/DD-Record-Organiser/My Project/AssemblyInfo.vb index 70a42b4..ce75c83 100644 --- a/app/DD-Record-Organiser/My Project/AssemblyInfo.vb +++ b/app/DD-Record-Organiser/My Project/AssemblyInfo.vb @@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + \ No newline at end of file diff --git a/app/DD-Record-Organiser/frmConstructor_Main.vb b/app/DD-Record-Organiser/frmConstructor_Main.vb index 906d0fd..47419bc 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.vb +++ b/app/DD-Record-Organiser/frmConstructor_Main.vb @@ -920,6 +920,7 @@ Public Class frmConstructor_Main 'Check_Record_Changed() DisableEditMode() + VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True elapsed = sw.Elapsed.TotalSeconds sw.Stop() @@ -2135,7 +2136,8 @@ Public Class frmConstructor_Main Next End Select End If - + CtrlCommandUI.IsInsert = False + CtrlCommandUI.IsEdit = False 'Jetzt den Record nochmal laden ' Show_Selected_Record_Data(SELECTED_RECORD_ID) Update_Status_Label(True, "Record saved - " & Now, EditState.Update) @@ -2299,7 +2301,7 @@ Public Class frmConstructor_Main End If CURRENT_RECORD_ID = RECORD_ID - + CtrlCommandUI.IsEdit = True ' Abhängige Listen laden CtrlBuilder.WatchRecordChanges = False 'ClassControlValues.LoadControlValuesListWithPlaceholders(ENTITY_ID, RECORD_ID, PARENT_ID, CtrlBuilder.AllControls, ENTITY_ID) @@ -2320,7 +2322,12 @@ Public Class frmConstructor_Main Lock_RecordControls(True) RECORD_ENABLED = False CURRENT_RECORD_ENABLED = False - ' Me.pnlDetails.Enabled = False + If Not IsNothing(CtrlCommandUI) Then + CtrlCommandUI.IsEdit = False + CtrlCommandUI.IsInsert = False + End If + + Me.tsButtonDelete.Enabled = False Me.tsButtonAdd.Enabled = True Me.tsButtonSave.Enabled = False diff --git a/app/RecordOrganizer_RightManager/My Project/AssemblyInfo.vb b/app/RecordOrganizer_RightManager/My Project/AssemblyInfo.vb index e9a37a4..e316c77 100644 --- a/app/RecordOrganizer_RightManager/My Project/AssemblyInfo.vb +++ b/app/RecordOrganizer_RightManager/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - +