jj 19.05
This commit is contained in:
@@ -157,17 +157,20 @@ Public Class frmConstructor_Main
|
||||
End Sub
|
||||
|
||||
Private Sub frmForm_Constructor_Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
If RECORD_CHANGED = True Then
|
||||
Dim ResultMessage As String
|
||||
Try
|
||||
ResultMessage = Update_Record_OnChange()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
Me.Cursor = Cursors.Default
|
||||
' Verhindert den Zeilenwechsel
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
End Try
|
||||
'If RECORD_CHANGED = True Then
|
||||
' Dim ResultMessage As String
|
||||
' Try
|
||||
' ResultMessage = Update_Record_OnChange()
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
' Me.Cursor = Cursors.Default
|
||||
' ' Verhindert den Zeilenwechsel
|
||||
' e.Cancel = True
|
||||
' Exit Sub
|
||||
' End Try
|
||||
'End If
|
||||
If TrySave_Automatic() = False Then
|
||||
e.Cancel = True
|
||||
End If
|
||||
|
||||
|
||||
@@ -694,16 +697,19 @@ Public Class frmConstructor_Main
|
||||
End Function
|
||||
|
||||
Private Sub grvwGrid_BeforeLeaveRow(sender As Object, e As RowAllowEventArgs) Handles grvwGrid.BeforeLeaveRow
|
||||
If RECORD_CHANGED = True Then
|
||||
Dim ResultMessage As String
|
||||
Try
|
||||
ResultMessage = Update_Record_OnChange()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
Me.Cursor = Cursors.Default
|
||||
' Verhindert den Zeilenwechsel
|
||||
e.Allow = False
|
||||
End Try
|
||||
'If RECORD_CHANGED = True Then
|
||||
' Dim ResultMessage As String
|
||||
' Try
|
||||
' ResultMessage = Update_Record_OnChange()
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
' Me.Cursor = Cursors.Default
|
||||
' ' Verhindert den Zeilenwechsel
|
||||
' e.Allow = False
|
||||
' End Try
|
||||
'End If
|
||||
If TrySave_Automatic() = False Then
|
||||
e.Allow = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -784,7 +790,10 @@ Public Class frmConstructor_Main
|
||||
grvwTiles.OptionsBehavior.Editable = Not IsTopFirstRow
|
||||
End If
|
||||
End If
|
||||
Check_Record_Changed()
|
||||
|
||||
'Wird jetzt bei BeforeRowChange überprüft
|
||||
'Check_Record_Changed()
|
||||
|
||||
DisableEditMode()
|
||||
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True
|
||||
elapsed = sw.Elapsed.TotalSeconds
|
||||
@@ -1406,20 +1415,24 @@ Public Class frmConstructor_Main
|
||||
End If
|
||||
|
||||
End If
|
||||
'Update aller Control-Werte
|
||||
Dim ResultMessage
|
||||
' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||
Try
|
||||
ResultMessage = Update_Record_OnChange()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
''Update aller Control-Werte
|
||||
'Dim ResultMessage
|
||||
'' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||
'Try
|
||||
' ResultMessage = Update_Record_OnChange()
|
||||
'Catch ex As Exception
|
||||
' 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
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
|
||||
Dim recid As Integer
|
||||
Update_Status_Label(True, ResultMessage, EDIT_STATE)
|
||||
|
||||
'If EDIT_STATE = EditState.Update Then
|
||||
' recid = RECORD_ID
|
||||
'Else
|
||||
@@ -1587,18 +1600,19 @@ Public Class frmConstructor_Main
|
||||
If RECORD_ENABLED = False Then
|
||||
EnableEditMode()
|
||||
Else
|
||||
If RECORD_CHANGED = True Then
|
||||
Dim ResultMessage As String
|
||||
Try
|
||||
ResultMessage = Update_Record_OnChange()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
Me.Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End Try
|
||||
'If RECORD_CHANGED = True Then
|
||||
' Dim ResultMessage As String
|
||||
' Try
|
||||
' ResultMessage = Update_Record_OnChange()
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
' Me.Cursor = Cursors.Default
|
||||
' Exit Sub
|
||||
' End Try
|
||||
'End If
|
||||
If TrySave_User() = True Then
|
||||
DisableEditMode()
|
||||
End If
|
||||
|
||||
DisableEditMode()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -2353,7 +2367,6 @@ Public Class frmConstructor_Main
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Check_Record_Changed()
|
||||
If EDIT_STATE <> EditState.None Then
|
||||
Update_Status_Label(False, "")
|
||||
@@ -2376,7 +2389,8 @@ Public Class frmConstructor_Main
|
||||
'CtrlCommandUI.IsInsert = False
|
||||
End If
|
||||
Try
|
||||
Update_Record_OnChange()
|
||||
Dim ResultMessage = Update_Record_OnChange()
|
||||
Update_Status_Label(True, ResultMessage)
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Record Changes: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
|
||||
End Try
|
||||
@@ -2387,15 +2401,15 @@ Public Class frmConstructor_Main
|
||||
ClassDatabase.Execute_non_Query(del, True)
|
||||
End If
|
||||
|
||||
Dim ResultMessage
|
||||
' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||
Try
|
||||
ResultMessage = Update_Record_OnChange()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
Me.Cursor = Cursors.Default
|
||||
Exit Sub
|
||||
End Try
|
||||
'Dim ResultMessage
|
||||
'' Wenn MussFelder nicht ausgefüllt werden, wird eine exception geworfen und abgefangen
|
||||
'Try
|
||||
' ResultMessage = Update_Record_OnChange()
|
||||
'Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in saving Record")
|
||||
' Me.Cursor = Cursors.Default
|
||||
' Exit Sub
|
||||
'End Try
|
||||
|
||||
End If
|
||||
CtrlCommandUI.IsInsert = False
|
||||
@@ -2987,6 +3001,7 @@ Public Class frmConstructor_Main
|
||||
Dim ResultMessage = CtrlCommandUI.SaveRecord(SELECTED_RECORD_ID, ENTITY_ID, PARENT_RECORDID)
|
||||
'Jetzt die für die Entität notwendigen Prroceduren ausführen
|
||||
Customer_Run_Procedures()
|
||||
|
||||
RECORD_CHANGED = False
|
||||
|
||||
Return ResultMessage
|
||||
@@ -4877,7 +4892,6 @@ Public Class frmConstructor_Main
|
||||
msg = "The Parent-Record was changed successful!"
|
||||
End If
|
||||
MsgBox(msg, MsgBoxStyle.Information)
|
||||
Check_Record_Changed()
|
||||
'Load_Data_for_TreeView()
|
||||
btnRelinkParentID.BackColor = Color.Lime
|
||||
btnRelinkParentID.FlatAppearance.BorderColor = Color.Lime
|
||||
@@ -5122,4 +5136,136 @@ Public Class frmConstructor_Main
|
||||
End If
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user