From 881797110c53c939cd22aa75780c4e766f14f5cc Mon Sep 17 00:00:00 2001 From: OlgunR Date: Thu, 25 Sep 2025 14:43:23 +0200 Subject: [PATCH] =?UTF-8?q?Erster=20Entwurf=20Speichern=20bei=20Schlie?= =?UTF-8?q?=C3=9Fen=20der=20Form=20-=20ClassNIVerknuepfungen,=20frmNIVerkn?= =?UTF-8?q?uepfungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ToolCollection/ClassNIVerknüpfungen.vb | 6 ++- ToolCollection/frmNIVerknuepfungen.vb | 67 ++++++++++++++++--------- 2 files changed, 48 insertions(+), 25 deletions(-) diff --git a/ToolCollection/ClassNIVerknüpfungen.vb b/ToolCollection/ClassNIVerknüpfungen.vb index 53b62d9..cb95d4b 100644 --- a/ToolCollection/ClassNIVerknüpfungen.vb +++ b/ToolCollection/ClassNIVerknüpfungen.vb @@ -201,7 +201,11 @@ Public Class ClassNIVerknüpfungen End Sub - + Public ReadOnly Property IsSaved() As Boolean + Get + Return Me._linksSaved + End Get + End Property Private _linksSaved As Boolean = True diff --git a/ToolCollection/frmNIVerknuepfungen.vb b/ToolCollection/frmNIVerknuepfungen.vb index 136a1ed..d6988b5 100644 --- a/ToolCollection/frmNIVerknuepfungen.vb +++ b/ToolCollection/frmNIVerknuepfungen.vb @@ -2015,26 +2015,28 @@ Public Class frmNIVerknuepfungen MsgBox("Die SELECT-Anweisung konnte nicht auf ihren Ursprungswert zurückgesetzt werden." & vbNewLine & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, "Fehler beim Zurücksetzen der SQL-Anweisung") End Try End Sub - Private Sub btnsave_select_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave_select.Click + + Private Sub SaveLinks() Try If Me._selectedProfil._links.selectedLink IsNot Nothing Then - If Me._selectedProfil.IsSaved = False Then - - Me._selectedProfil.Save(True, "link") - If Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) = True Then - btnsave_select.Enabled = False - MsgBox("Verknüpfung erfolgreich gespeichert!", MsgBoxStyle.Information) - End If - With btnsave_select - .Enabled = False - .ForeColor = Drawing.Color.Black - End With + 'Me._selectedProfil.Save(True, "link") + If Me._selectedProfil._links.selectedLink.SaveLink(Me._selectedProfil.Profilname, Me._selectedProfil.Ni_Art) = True Then + Me._selectedProfil._links.setLinksSaved() + btnsave_select.Enabled = False + MsgBox("Verknüpfung erfolgreich gespeichert!", MsgBoxStyle.Information) End If + With btnsave_select + .Enabled = False + .ForeColor = Drawing.Color.Black + End With End If Catch ex As Exception MsgBox("Fehler beim Speichern der DB-Verknüpfung." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try + End Sub + Private Sub btnsave_select_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave_select.Click + SaveLinks() End Sub Private Sub txtSelectAnweisung_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSelectAnweisung.TextChanged Try @@ -2266,6 +2268,7 @@ Public Class frmNIVerknuepfungen End Sub Private Sub frmNIVerknuepfungen_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If Me._selectedProfil IsNot Nothing Then + If Me._selectedProfil.Desk_windreamIndex = "" Then If Me._selectedProfil.DbArt = "xml" Then MsgBox("Bitte definieren Sie einen eindeutigen/deskriptiven Index!", MsgBoxStyle.Critical, "Fehlende Konfiguration:") @@ -2273,21 +2276,32 @@ Public Class frmNIVerknuepfungen e.Cancel = True End If End If - If Me._selectedProfil IsNot Nothing Then - If Me._selectedProfil.HasChanges Then - If _selectedProfil.MR_DAIndex <> "" And Me._selectedProfil.checkIndexsql = "" Then - MsgBox("Bitte definieren Sie einen SQL-Befehl zum überprüfen des gültigen Startindexwertes!", MsgBoxStyle.Critical, "Fehlende Konfiguration:") - Me.tabctrlbottom.SelectedIndex = 0 - e.Cancel = True - End If + + If Me._selectedProfil.HasChanges Then + If _selectedProfil.MR_DAIndex <> "" And Me._selectedProfil.checkIndexsql = "" Then + MsgBox("Bitte definieren Sie einen SQL-Befehl zum überprüfen des gültigen Startindexwertes!", MsgBoxStyle.Critical, "Fehlende Konfiguration:") + Me.tabctrlbottom.SelectedIndex = 0 + e.Cancel = True End If - If Me._selectedProfil Is Nothing = False Then - Me.tabctrlbottom.Visible = False - If Me._selectedProfil.HasChanges Then - Me._selectedProfil.Save(True, "profile") + End If + + If Not Me._selectedProfil.IsSaved Or Not Me._selectedProfil._links.IsSaved Then + + Dim msgResult As MsgBoxResult = MsgBox("Möchten Sie die Änderungen speichern?", MsgBoxStyle.YesNoCancel, "Änderungen übernehmen?") + If msgResult = MsgBoxResult.Yes Then + + If Not Me._selectedProfil.IsSaved Then + SaveProfile() + End If + + If Not Me._selectedProfil._links.IsSaved Then + SaveLinks() End If + End If + End If + End If End Sub @@ -2638,11 +2652,12 @@ Public Class frmNIVerknuepfungen ' End If 'End Sub - Private Sub btnSaveCheckIndex_Click(sender As Object, e As EventArgs) Handles btnSaveCheckIndex.Click + Private Sub SaveProfile() If Me.txtCheckIndexSQL.Text <> "" Then Try ' die Änderungen speichern If Me._selectedProfil.Save(True, "profile") = True Then + Me._selectedProfil.setSaved() Me.btnSaveCheckIndex.Enabled = False Else MsgBox("Das Profil konnte nicht erfolgreich gespeichert werden.", MsgBoxStyle.Exclamation, "Fehler beim Speichern eines Profils") @@ -2653,6 +2668,10 @@ Public Class frmNIVerknuepfungen End If End Sub + Private Sub btnSaveCheckIndex_Click(sender As Object, e As EventArgs) Handles btnSaveCheckIndex.Click + SaveProfile() + End Sub + Private Sub txtCheckIndexSQL_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtCheckIndexSQL.TextChanged If Me._selectedProfil IsNot Nothing Then