From b6370ca3bdba41118a6c1e0f643f444dbbac32d5 Mon Sep 17 00:00:00 2001 From: JenneJ Date: Tue, 23 Aug 2016 15:01:15 +0200 Subject: [PATCH] jj 23.08 fix tabs and buttons :D --- app/DD-Record-Organiser/ClassHelper.vb | 12 ++- .../frmConstructor_Main.vb | 85 +++++++++++++++---- 2 files changed, 78 insertions(+), 19 deletions(-) diff --git a/app/DD-Record-Organiser/ClassHelper.vb b/app/DD-Record-Organiser/ClassHelper.vb index 25858ab..ae4976c 100644 --- a/app/DD-Record-Organiser/ClassHelper.vb +++ b/app/DD-Record-Organiser/ClassHelper.vb @@ -245,7 +245,17 @@ Public Class ClassHelper Public Shared Function DeleteRecord(ByVal SELECTED_RECORD_ID) Try Dim DeleteRecordSQL = String.Format("EXEC [dbo].[PRPMO_DELETE_RECORD] {0}, '{1}'", SELECTED_RECORD_ID, Environment.UserName) - Return ClassDatabase.Execute_non_Query_withConn(DeleteRecordSQL, 1) + Dim result As Boolean = ClassDatabase.Execute_non_Query_withConn(DeleteRecordSQL, 1) + + If result = False Then + Dim msg = "Der Datensatz '" & SELECTED_RECORD_ID & "' konnte nicht gelöscht werden. Überprüfen Sie das log" + If USER_LANGUAGE <> "de-DE" Then + msg = "The record '" & SELECTED_RECORD_ID & "' could not be deleted. Check the log" + End If + MsgBox(msg, MsgBoxStyle.Exclamation) + End If + + Return result Catch ex As Exception ClassLogger.Add("Unexpected Error in DeleteRecord: " & ex.Message, True) Return False diff --git a/app/DD-Record-Organiser/frmConstructor_Main.vb b/app/DD-Record-Organiser/frmConstructor_Main.vb index c5dc8d5..bc0153e 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.vb +++ b/app/DD-Record-Organiser/frmConstructor_Main.vb @@ -206,6 +206,7 @@ Public Class frmConstructor_Main ' End Try 'End If If TrySave_Automatic() = False Then + e.Cancel = True End If @@ -573,6 +574,10 @@ Public Class frmConstructor_Main SELECTED_RECORD_ID = 0 RECORD_ID = 0 CURRENT_RECORD_ID = 0 + + If CtrlCommandUI.IsInsert Then + ActivateAllTabs() + End If Load_Datafor_Entity() End If End If @@ -817,6 +822,10 @@ Public Class frmConstructor_Main 'End If If TrySave_Automatic() = False Then e.Allow = False + Else + If CtrlCommandUI.IsInsert Then + ActivateAllTabs() + End If End If End Sub @@ -938,7 +947,7 @@ Public Class frmConstructor_Main End If If RECORD_ID > 0 Then - If RIGHT_ONLY_READ = False Then + If RIGHT_ONLY_READ = False And CtrlCommandUI.IsInsert = False Then tsButtonEdit.Enabled = True End If If NODE_NAVIGATION = False Then @@ -1902,6 +1911,14 @@ Public Class frmConstructor_Main Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click ' Vor dem Hinzufügen muss der EditMode auf jeden Fall ausgeschaltet werden!! DisableEditMode() + tsButtonEdit.Enabled = False + + ' IsInsert muss true sein, damit wir wissen ob wir bei + ' Abbruch den Record Wieder löschen können + CtrlCommandUI.IsInsert = True + + ' Alle Tabs außer Detailansicht deaktivierne + DeactivateTabs() 'Wenn es eine Parent_ID gibt aber kein PArent_Datensatz ausgewählt wurde muss dies nachgeholt werden If PARENT_ENTITYID > 0 Then @@ -1978,9 +1995,6 @@ Public Class frmConstructor_Main MsgBox("Unexpected Error in Insert: " & ex.Message) Finally Me.Cursor = Cursors.Default - ' IsInsert muss true sein, damit wir wissen ob wir bei - ' Abbruch den Record Wieder löschen können - CtrlCommandUI.IsInsert = True End Try End Sub @@ -2026,6 +2040,10 @@ Public Class frmConstructor_Main ' Cursor zurücksetzen Me.Cursor = Cursors.Default Return False + Else + If CtrlCommandUI.IsInsert Then + ActivateAllTabs() + End If End If Dim recid As Integer @@ -2182,12 +2200,6 @@ Public Class frmConstructor_Main DisableEditMode() Load_Entity_Data(ACT_EBENE) RECORD_CHANGED = False - Else - msg = "Der Datensatz '" & SELECTED_RECORD_ID & "' konnte nicht gelöscht werden. Überprüfen Sie das log" - If USER_LANGUAGE <> "de-DE" Then - msg = "The record '" & SELECTED_RECORD_ID & "' could not be deleted. Check the log" - End If - MsgBox(msg, MsgBoxStyle.Exclamation) End If End If End Sub @@ -2215,6 +2227,7 @@ Public Class frmConstructor_Main 'End If If TrySave_Automatic() = True Then DisableEditMode() + End If End If End Sub @@ -2241,6 +2254,10 @@ Public Class frmConstructor_Main 'Wenn Record bearbeitet werden kann, IN_WORK auf 1 setzen, um Bearbeitung durch andere zu verhindern! ClassRecordState.LockRecord(SELECTED_RECORD_ID) End If + + ' Alle Tabs außer Detailsicht deaktivieren + DeactivateTabs() + CURRENT_CHANGE_STEP += 1 Dim del = String.Format("DELETE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE UPPER(ADDED_WHO) = '{0}'", Environment.UserName.ToUpper) ClassDatabase.Execute_non_Query(del) @@ -2295,7 +2312,11 @@ Public Class frmConstructor_Main End If Me.tsButtonEdit.Text = stg Me.tsButtonEdit.Text = stg - 'Funktion nur zum load der Inhalte + + If Not IsNothing(CtrlCommandUI) Then + ActivateAllTabs() + End If + If RECORD_ENABLED = True Then ClassControlValues.UnloadControlValuesList(SELECTED_RECORD_ID, RECORD_ID, CtrlBuilder.AllControls) @@ -4563,15 +4584,15 @@ Public Class frmConstructor_Main Private Sub TCDetails_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles TCDetails.SelectedPageChanged Update_Status_Label(False, "") - tsButtonEdit.Enabled = True + 'tsButtonEdit.Enabled = True If TCDetails.SelectedTabPage.Text.ToLower.StartsWith("pos") Then - tsButtonEdit.Enabled = False + 'tsButtonEdit.Enabled = False Load_Pos_Data() Load_POSGrid_Layout() End If If TCDetails.SelectedTabPage.Text.ToLower.StartsWith("windr") Then If RIGHT_WINDREAM_FORBIDDEN = False Then - tsButtonEdit.Enabled = False + 'tsButtonEdit.Enabled = False If RECORD_ID = 0 Then Dim result As MsgBoxResult Dim msg = String.Format("Wollen Sie eine Entitätsweite Suche ausführen?") @@ -4592,7 +4613,7 @@ Public Class frmConstructor_Main End If End If If TCDetails.SelectedTabPage.Text.ToLower.StartsWith("wieder") Or TCDetails.SelectedTabPage.Text.ToLower.StartsWith("follo") Then - tsButtonEdit.Enabled = False + 'tsButtonEdit.Enabled = False Refresh_FollowUps() dtpFollowUp.Enabled = False lblWiedervorlage_Control.Text = "<< Waiting for Selection:" @@ -5723,7 +5744,13 @@ Public Class frmConstructor_Main Private Sub tsButtonCancel_Click(sender As Object, e As EventArgs) Handles tsButtonCancel.Click If CtrlCommandUI.IsInsert = True Then - ClassHelper.DeleteRecord(SELECTED_RECORD_ID) + If ClassHelper.DeleteRecord(SELECTED_RECORD_ID) = False Then + Dim msg = "Der Datensatz '" & SELECTED_RECORD_ID & "' konnte nicht gelöscht werden. Überprüfen Sie das log" + If USER_LANGUAGE <> "de-DE" Then + msg = "The record '" & SELECTED_RECORD_ID & "' could not be deleted. Check the log" + End If + MsgBox(msg, MsgBoxStyle.Exclamation) + End If End If tsButtonCancel.Visible = False tsButtonAdd.Enabled = True @@ -5831,10 +5858,11 @@ Public Class frmConstructor_Main ShouldSave = MessageBox.Show("There are unsaved changes. Would You like to save?", "Unsaved changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question) End If + ' Änderungen sollen gespeichert werden If ShouldSave = DialogResult.Yes Then If CtrlCommandUI.IsInsert Then EDIT_STATE = EditState.None - ' + End If Dim RequiredControlsFilled As Boolean = TrySave_RequiredControlsFilled() @@ -5854,7 +5882,7 @@ Public Class frmConstructor_Main ' aber Muss-Felder sind noch nicht ausgefüllt worden Return False End If - Else + Else ' Änderungen sollen nicht gespeichert werden ' Angelegten Record löschen If CtrlCommandUI.IsInsert Then ClassHelper.DeleteRecord(SELECTED_RECORD_ID) @@ -6192,4 +6220,25 @@ Public Class frmConstructor_Main MsgBox(msg, MsgBoxStyle.Exclamation) End If End Sub + + Public Sub ActivateAllTabs() + ' Alle Tabs aktivieren + For Each tab As DevExpress.XtraTab.XtraTabPage In TCDetails.TabPages + If (tab.Name <> "TabDetails") Then + tab.PageEnabled = True + End If + Next + End Sub + + Public Sub DeactivateTabs() + ' Alle Tab Pages außer Detailansicht deaktivieren + ' Zur Detailansicht springen + For Each tab As DevExpress.XtraTab.XtraTabPage In TCDetails.TabPages + If (tab.Name <> "TabDetails") Then + tab.PageEnabled = False + Else + TCDetails.SelectedTabPage = tab + End If + Next + End Sub End Class \ No newline at end of file