Files
SDL/SDL/mdm/frmCardDetails.vb
2024-10-02 08:59:41 +00:00

480 lines
20 KiB
VB.net

Imports System.Reflection
Imports System.ComponentModel
Public Class frmCardDetails
Public addnew = False
Public SDLLeistung As String = ""
Public history As String = ""
Public kdnr As String = ""
Public KfzKennzeichen As String = ""
Public newData = False
' Dim valueChanged As Boolean = False
Dim kundenSQL As New kundenSQL
' Dim usrCntlBinding As cBinding = Nothing
Event SAVE()
Function checksave() As Boolean
If bndSave.Enabled Then
Select Case MsgBox("Änderungen speichern?", vbYesNoCancel)
Case vbYes : saveMe()
Case vbCancel : Me.DialogResult = Windows.Forms.DialogResult.None : Return False
End Select
End If
Return True
End Function
Sub saveMe()
RaiseEvent SAVE()
End Sub
Sub init()
' If checksave() = False Then Exit Sub
' valueChanged = False
bndSave.Enabled = False
pnlSDLLeistungenDetails.Controls.Clear()
If SDLLeistung = 100 Then ' IDS
Dim usrcntl As New usrCntlSDLLeistungenIDS(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 101 Then ' WÖLFL
Dim usrcntl As New usrCntlSDLLeistungenWOELFL(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 200 Then ' AT-MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungMautAT(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 201 Then ' DE-MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungMautDE(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 202 Then ' IT-MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenIT(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 203 Then ' CZ MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenCZ(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 204 Then ' FR-MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenFR(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 205 Then ' MotorWayMaut
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenMotorWayMaut(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 206 Then ' DUOBOX FR / ES
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenDUOBOX(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 207 Then ' FREJUS
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenFREJUS(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 208 Then ' MSE Card
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenMSE(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 209 Then ' PL MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenPL(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 210 Then ' SI-MAUT
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenSI(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 211 Then ' ECOTAX
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenECOTAX(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 212 Then ' UTA
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungenUTA(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 213 Then ' HUGO
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungHUGO(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 214 Then ' plose
' Panel2.BackgroundImage = Nothing
Dim usrcntl As New usrCntlSDLLeistungPLOSE(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
ElseIf SDLLeistung = 500 Then ' MAN
Dim usrcntl As New usrCntlSDLLeistungenMANAbgas(kdnr, KfzKennzeichen, SDLLeistung, history)
If addnew Then usrcntl.addnew = True : bndSave.Enabled = True 'NEUER EINTRAG!
pnlSDLLeistungenDetails.Controls.Add(usrcntl)
RemoveClickEvent(btnSave)
AddHandler btnSave.Click, Sub()
If usrcntl.save Then Me.DialogResult = Windows.Forms.DialogResult.OK : Me.Close()
End Sub
AddHandler Me.SAVE, Sub()
If usrcntl.save Then bndSave.Enabled = False
End Sub
initChangeEvent(usrcntl)
End If
' RaiseEvent SAVE()
'If addnew Then bndSave.Enabled = True
'If Not usrCntlBinding Is Nothing Then
'AddHandler usrCntlBinding.bindingdataTable.ColumnChanged, Sub()
' setChange()
' End Sub
' AddHandler usrCntlBinding.bindingdataTable.RowDeleted, Sub()
' setChange()
'End Sub
' End If
End Sub
Private Sub RemoveClickEvent(b As Button)
Dim f1 As FieldInfo = GetType(Control).GetField("EventClick", BindingFlags.Static Or BindingFlags.NonPublic)
Dim obj As Object = f1.GetValue(b)
Dim pi As PropertyInfo = b.GetType().GetProperty("Events", BindingFlags.NonPublic Or BindingFlags.Instance)
Dim list As EventHandlerList = DirectCast(pi.GetValue(b, Nothing), EventHandlerList)
list.RemoveHandler(obj, list(obj))
End Sub
Private Sub RemoveClickEvent(b As ToolStripButton)
Dim f1 As FieldInfo = GetType(Control).GetField("EventClick", BindingFlags.Static Or BindingFlags.NonPublic)
Dim obj As Object = f1.GetValue(b)
Dim pi As PropertyInfo = b.GetType().GetProperty("Events", BindingFlags.NonPublic Or BindingFlags.Instance)
Dim list As EventHandlerList = DirectCast(pi.GetValue(b, Nothing), EventHandlerList)
list.RemoveHandler(obj, list(obj))
End Sub
Private Sub frmDatenDetails_Load(sender As Object, e As EventArgs) Handles Me.Load
init()
Dim kundenSQL As New kundenSQL
Dim cKunden As cKunden = kundenSQL.getKundeByKdNr(kdnr)
lblFirma.Text = cKunden.Kurzname
If cKunden.Abfertigungsverbot Then
lblFirma.ForeColor = Color.Red
lblFirma.Text &= " (Abfertigungsverbot)"
Else
lblFirma.ForeColor = Color.Black
End If
End Sub
'Läuft alle Elememte durch -> Wenn Änderung, dann wird der Button aktiv
Public Sub initChangeEvent(ByVal oContainer As Object)
Exit Sub
If Not IsNothing(oContainer) Then
' alle Controls des Container-Objekts durchlaufen
For Each oControl As Control In oContainer.Controls
' Falls es sich um ein Container-Control handelt und die
' TextBox-Controls ebenfalls zurückgesetzt werden sollen, muss
' die Funktion ResetTextBox rekursiv erneut aufgerufen werden
If oControl.Controls.Count > 0 Then
initChangeEvent(oControl)
Else
' Sofern es sich um ein TextBox-Control handelt...
If TypeOf oControl Is TextBox Or TypeOf oControl Is RichTextBox Then
AddHandler oControl.TextChanged, AddressOf setChange
End If
If TypeOf oControl Is CheckBox Then
AddHandler DirectCast(oControl, CheckBox).CheckStateChanged, AddressOf setChange
End If
If TypeOf oControl Is DateTimePicker Then
AddHandler DirectCast(oControl, DateTimePicker).ValueChanged, AddressOf setChange
End If
If TypeOf oControl Is ComboBox Then
AddHandler DirectCast(oControl, ComboBox).SelectedIndexChanged, AddressOf setChange
End If
If TypeOf oControl Is RadioButton Then
AddHandler DirectCast(oControl, RadioButton).CheckedChanged, AddressOf setChange
End If
End If
Next
End If
End Sub
Private Sub setChange()
'valueChanged = True
btnSave.Enabled = True
bndSave.Enabled = True
End Sub
Private Sub cboLeistungen_KeyUp(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Return Then
init()
End If
End Sub
Private Sub ComboBox2_SelectedValueChanged(sender As Object, e As EventArgs)
' If pnlSDLLeistungenDetails.Controls.Count = 0 And (cboLeistungen.Text <> "" And cboLKW.Text <> "" And IsNumeric(kdnr) AndAlso kdnr > 0) Then
'init()
'End If
End Sub
Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
's.row_kdNr = kdnr
'FlatButton1.PerformClick()
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' btnSave.PerformClick()
Me.Close()
Me.Hide()
cProgramFunctions.newFrmData(Me.FindForm, kdnr, New Integer = -1, KfzKennzeichen, New Integer = -1)
Exit Sub
newData = True
btnSave.PerformClick()
Exit Sub
saveMe()
If bndSave.Enabled = False Then
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
' cProgramFunctions.newFrmData(Me.ParentForm)
End If
End Sub
Private Sub btnNEU_Click(sender As Object, e As EventArgs)
init()
End Sub
Private Sub FlatButton1_Click_1(sender As Object, e As EventArgs) Handles FlatButton1.Click
If checksave() Then
Me.Close()
End If
End Sub
Private Sub btnAbbrechen_Click(sender As Object, e As EventArgs) Handles btnAbbrechen.Click
If bndSave.Enabled Then
If checksave() Then Exit Sub
End If
End Sub
Private Sub bndSave_Click(sender As Object, e As EventArgs) Handles bndSave.Click
saveMe()
End Sub
End Class