jj 19.05
This commit is contained in:
@@ -157,17 +157,20 @@ Public Class frmConstructor_Main
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub frmForm_Constructor_Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
Private Sub frmForm_Constructor_Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||||
If RECORD_CHANGED = True Then
|
'If RECORD_CHANGED = True Then
|
||||||
Dim ResultMessage As String
|
' Dim ResultMessage As String
|
||||||
Try
|
' Try
|
||||||
ResultMessage = Update_Record_OnChange()
|
' ResultMessage = Update_Record_OnChange()
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||||
Me.Cursor = Cursors.Default
|
' Me.Cursor = Cursors.Default
|
||||||
' Verhindert den Zeilenwechsel
|
' ' Verhindert den Zeilenwechsel
|
||||||
e.Cancel = True
|
' e.Cancel = True
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End Try
|
' End Try
|
||||||
|
'End If
|
||||||
|
If TrySave_Automatic() = False Then
|
||||||
|
e.Cancel = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -694,16 +697,19 @@ Public Class frmConstructor_Main
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub grvwGrid_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles grvwGrid.BeforeLeaveRow
|
Private Sub grvwGrid_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles grvwGrid.BeforeLeaveRow
|
||||||
If RECORD_CHANGED = True Then
|
'If RECORD_CHANGED = True Then
|
||||||
Dim ResultMessage As String
|
' Dim ResultMessage As String
|
||||||
Try
|
' Try
|
||||||
ResultMessage = Update_Record_OnChange()
|
' ResultMessage = Update_Record_OnChange()
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||||
Me.Cursor = Cursors.Default
|
' Me.Cursor = Cursors.Default
|
||||||
' Verhindert den Zeilenwechsel
|
' ' Verhindert den Zeilenwechsel
|
||||||
e.Allow = False
|
' e.Allow = False
|
||||||
End Try
|
' End Try
|
||||||
|
'End If
|
||||||
|
If TrySave_Automatic() = False Then
|
||||||
|
e.Allow = False
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -784,7 +790,10 @@ Public Class frmConstructor_Main
|
|||||||
grvwTiles.OptionsBehavior.Editable = Not IsTopFirstRow
|
grvwTiles.OptionsBehavior.Editable = Not IsTopFirstRow
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Check_Record_Changed()
|
|
||||||
|
'Wird jetzt bei BeforeRowChange überprüft
|
||||||
|
'Check_Record_Changed()
|
||||||
|
|
||||||
DisableEditMode()
|
DisableEditMode()
|
||||||
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True
|
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True
|
||||||
elapsed = sw.Elapsed.TotalSeconds
|
elapsed = sw.Elapsed.TotalSeconds
|
||||||
@@ -1406,20 +1415,24 @@ Public Class frmConstructor_Main
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
'Update aller Control-Werte
|
''Update aller Control-Werte
|
||||||
Dim ResultMessage
|
'Dim ResultMessage
|
||||||
' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
'' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||||
Try
|
'Try
|
||||||
ResultMessage = Update_Record_OnChange()
|
' ResultMessage = Update_Record_OnChange()
|
||||||
Catch ex As Exception
|
'Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||||
|
' Me.Cursor = Cursors.Default
|
||||||
|
' Return False
|
||||||
|
'End Try
|
||||||
|
'Update_Status_Label(True, ResultMessage, EDIT_STATE)
|
||||||
|
If TrySave_User() = False Then
|
||||||
|
' Cursor zurücksetzen
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End If
|
||||||
|
|
||||||
Dim recid As Integer
|
Dim recid As Integer
|
||||||
Update_Status_Label(True, ResultMessage, EDIT_STATE)
|
|
||||||
|
|
||||||
'If EDIT_STATE = EditState.Update Then
|
'If EDIT_STATE = EditState.Update Then
|
||||||
' recid = RECORD_ID
|
' recid = RECORD_ID
|
||||||
'Else
|
'Else
|
||||||
@@ -1587,18 +1600,19 @@ Public Class frmConstructor_Main
|
|||||||
If RECORD_ENABLED = False Then
|
If RECORD_ENABLED = False Then
|
||||||
EnableEditMode()
|
EnableEditMode()
|
||||||
Else
|
Else
|
||||||
If RECORD_CHANGED = True Then
|
'If RECORD_CHANGED = True Then
|
||||||
Dim ResultMessage As String
|
' Dim ResultMessage As String
|
||||||
Try
|
' Try
|
||||||
ResultMessage = Update_Record_OnChange()
|
' ResultMessage = Update_Record_OnChange()
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||||
Me.Cursor = Cursors.Default
|
' Me.Cursor = Cursors.Default
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End Try
|
' End Try
|
||||||
|
'End If
|
||||||
|
If TrySave_User() = True Then
|
||||||
|
DisableEditMode()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
DisableEditMode()
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -2353,7 +2367,6 @@ Public Class frmConstructor_Main
|
|||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Sub Check_Record_Changed()
|
Private Sub Check_Record_Changed()
|
||||||
If EDIT_STATE <> EditState.None Then
|
If EDIT_STATE <> EditState.None Then
|
||||||
Update_Status_Label(False, "")
|
Update_Status_Label(False, "")
|
||||||
@@ -2376,7 +2389,8 @@ Public Class frmConstructor_Main
|
|||||||
'CtrlCommandUI.IsInsert = False
|
'CtrlCommandUI.IsInsert = False
|
||||||
End If
|
End If
|
||||||
Try
|
Try
|
||||||
Update_Record_OnChange()
|
Dim ResultMessage = Update_Record_OnChange()
|
||||||
|
Update_Status_Label(True, ResultMessage)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
||||||
End Try
|
End Try
|
||||||
@@ -2387,15 +2401,15 @@ Public Class frmConstructor_Main
|
|||||||
ClassDatabase.Execute_non_Query(del, True)
|
ClassDatabase.Execute_non_Query(del, True)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim ResultMessage
|
'Dim ResultMessage
|
||||||
' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
'' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||||
Try
|
'Try
|
||||||
ResultMessage = Update_Record_OnChange()
|
' ResultMessage = Update_Record_OnChange()
|
||||||
Catch ex As Exception
|
'Catch ex As Exception
|
||||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||||
Me.Cursor = Cursors.Default
|
' Me.Cursor = Cursors.Default
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End Try
|
'End Try
|
||||||
|
|
||||||
End If
|
End If
|
||||||
CtrlCommandUI.IsInsert = False
|
CtrlCommandUI.IsInsert = False
|
||||||
@@ -2987,6 +3001,7 @@ Public Class frmConstructor_Main
|
|||||||
Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_RECORD_ID, ENTITY_ID, PARENT_RECORDID)
|
Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_RECORD_ID, ENTITY_ID, PARENT_RECORDID)
|
||||||
'Jetzt die für die Entität notwendigen Prroceduren ausführen
|
'Jetzt die für die Entität notwendigen Prroceduren ausführen
|
||||||
Customer_Run_Procedures()
|
Customer_Run_Procedures()
|
||||||
|
|
||||||
RECORD_CHANGED = False
|
RECORD_CHANGED = False
|
||||||
|
|
||||||
Return ResultMessage
|
Return ResultMessage
|
||||||
@@ -4877,7 +4892,6 @@ Public Class frmConstructor_Main
|
|||||||
msg = "The Parent-Record was changed successful!"
|
msg = "The Parent-Record was changed successful!"
|
||||||
End If
|
End If
|
||||||
MsgBox(msg, MsgBoxStyle.Information)
|
MsgBox(msg, MsgBoxStyle.Information)
|
||||||
Check_Record_Changed()
|
|
||||||
'Load_Data_for_TreeView()
|
'Load_Data_for_TreeView()
|
||||||
btnRelinkParentID.BackColor = Color.Lime
|
btnRelinkParentID.BackColor = Color.Lime
|
||||||
btnRelinkParentID.FlatAppearance.BorderColor = Color.Lime
|
btnRelinkParentID.FlatAppearance.BorderColor = Color.Lime
|
||||||
@@ -5122,4 +5136,136 @@ Public Class frmConstructor_Main
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
#Region "TrySave Funktionen"
|
||||||
|
Public Function TrySave_RequiredControlsFilled() As Boolean
|
||||||
|
Dim missingValues As New List(Of String)
|
||||||
|
missingValues = ClassControlValues.CheckRequiredControlValues(CtrlBuilder.MasterPanel.Controls)
|
||||||
|
|
||||||
|
If missingValues.Count > 0 Then
|
||||||
|
Dim RequiredControlNames = String.Join(vbNewLine, missingValues)
|
||||||
|
|
||||||
|
If (USER_LANGUAGE = "de-DE") Then
|
||||||
|
Dim message = String.Format("Die folgenden Steuerelemente müssen ausgefüllt sein: {0}{1}", vbNewLine, RequiredControlNames)
|
||||||
|
MessageBox.Show(message, "Muss-Felder ausfüllen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||||
|
Else
|
||||||
|
Dim message = String.Format("The following controls must be filled with values: {0}{1}", vbNewLine, RequiredControlNames)
|
||||||
|
MessageBox.Show(message, "Fill Required Controls", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Focus_Control(missingValues.First())
|
||||||
|
|
||||||
|
' Muss-Felder sind noch nicht ausgefüllt worden
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
' Muss-Felder sind alle ausgefüllt
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Überprüft beim manuellen Speichern, ob Datensatz verändert wurde und
|
||||||
|
''' ob alle Muss-Felder ausgefüllt wurden
|
||||||
|
''' </summary>
|
||||||
|
''' <returns>
|
||||||
|
''' Gibt False zurück, wenn nicht alle Muss-Felder gefüllt wurde,
|
||||||
|
''' ansonsten True
|
||||||
|
''' </returns>
|
||||||
|
Public Function TrySave_User() As Boolean
|
||||||
|
Try
|
||||||
|
EDIT_STATE = EditState.None
|
||||||
|
'Update_Status_Label(False)
|
||||||
|
|
||||||
|
If RECORD_CHANGED = False Then
|
||||||
|
' Datensatz wurde nicht verändert
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim RequiredControlsFilled As Boolean = TrySave_RequiredControlsFilled()
|
||||||
|
|
||||||
|
If RequiredControlsFilled = True Then
|
||||||
|
TrySave_DoSave()
|
||||||
|
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
MessageBox.Show("Error in TrySave_User: " & vbNewLine & ex.Message)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Sub TrySave_DoSave()
|
||||||
|
' Record Speichern
|
||||||
|
Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_RECORD_ID, ENTITY_ID, PARENT_RECORDID)
|
||||||
|
' Status anzeigen
|
||||||
|
Update_Status_Label(True, ResultMessage)
|
||||||
|
'Jetzt die für die Entität notwendigen Prroceduren ausführen
|
||||||
|
Customer_Run_Procedures()
|
||||||
|
' RECORD_CHANGED zurücksetzen
|
||||||
|
RECORD_CHANGED = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Fragt den Benutzer beim Datensatzwechsel, ob Änderungen gespeichert werden sollen. Gibt False zurück, wenn Mussfelder ausgefüllt werden müssen, ansonsten True.
|
||||||
|
''' </summary>
|
||||||
|
Public Function TrySave_Automatic() As Boolean
|
||||||
|
Try
|
||||||
|
EDIT_STATE = EditState.None
|
||||||
|
'Update_Status_Label(False)
|
||||||
|
|
||||||
|
If RECORD_CHANGED = True Then
|
||||||
|
Dim ShouldSave As DialogResult
|
||||||
|
If USER_LANGUAGE = "de-DE" Then
|
||||||
|
ShouldSave = MessageBox.Show("Sie haben ungespeicherte Änderungen. Wollen Sie diese speichern?", "Ungespeicherte Änderungen", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||||
|
Else
|
||||||
|
ShouldSave = MessageBox.Show("There are unsaved changes. Would You like to save?", "Unsaved changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ShouldSave = DialogResult.Yes Then
|
||||||
|
If CtrlCommandUI.IsInsert Then
|
||||||
|
EDIT_STATE = EditState.None
|
||||||
|
Lock_RecordControls(True)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim RequiredControlsFilled As Boolean = TrySave_RequiredControlsFilled()
|
||||||
|
|
||||||
|
If RequiredControlsFilled = True Then
|
||||||
|
' Änderungen sollen gespeichert werden,
|
||||||
|
' Muss-Felder sind alle ausgefüllt
|
||||||
|
TrySave_DoSave()
|
||||||
|
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
' Änderungen sollen gespeichert werden,
|
||||||
|
' aber Muss-Felder sind noch nicht ausgefüllt worden
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
' Angelegten Record löschen
|
||||||
|
If CtrlCommandUI.IsInsert Then
|
||||||
|
Dim DeleteRecordSQL = String.Format("EXEC [dbo].[PRPMO_DELETE_RECORD] {0}", SELECTED_RECORD_ID)
|
||||||
|
ClassDatabase.Execute_non_Query(DeleteRecordSQL, True)
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Änderungen sollen nicht gespeichert werden
|
||||||
|
RECORD_CHANGED = False
|
||||||
|
tsButtonCancel.Visible = False
|
||||||
|
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
|
||||||
|
' Datensatz wurde nicht verändert
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
MessageBox.Show("Error in TrySave_Automatic: " & vbNewLine & ex.Message)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
Reference in New Issue
Block a user