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

341 lines
16 KiB
VB.net

Imports System.Reflection
Imports System.ComponentModel
Public Class frmNewData
Public addnew = True
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
Public LeistungVordefiniert As Integer = -1
Dim PF As New cProgramFunctions
Public showDetailForm As Boolean = False
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
KdSearchBox1.initKdBox(Me, txtKundenNr)
LeistungVordefiniert = If(IsNumeric(SDLLeistung), SDLLeistung, -1)
MyFlowLayoutPanel1.HorizontalScroll.Visible = False
MyFlowLayoutPanel1.HorizontalScroll.Enabled = False
addCntlLKW()
AddHandler KdSearchBox1.PropertyChanged, Sub()
Try
checkKD()
If KdSearchBox1.KdNr > 0 Then
For Each c In MyFlowLayoutPanel1.Controls
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).KdNr = KdSearchBox1.KdNr
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).initCBO()
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).cboLKW.Focus()
Next
End If
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & ex.StackTrace)
End Try
End Sub
If IsNumeric(kdnr) Then
KdSearchBox1.KdNr = kdnr
'If SDLLeistung <> "" Then init()
initSDL()
If KfzKennzeichen <> "" Then
If MyFlowLayoutPanel1.Controls.Count > 0 Then
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).cboLKW.Text = KfzKennzeichen
End If
End If
End If
End Sub
Sub addCntlLKW()
Dim u As New usrcntlNewDataLKW(kdnr)
AddHandler u.LKW_ADDED, Sub(kfz)
For Each c In MyFlowLayoutPanel1.Controls
DirectCast(c, usrcntlNewDataLKW).initCBO()
Next
End Sub
AddHandler u.LKW_DEL, Sub(kfz)
If MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1) IsNot u Then
MyFlowLayoutPanel1.Controls.Remove(u)
If Not (MyFlowLayoutPanel1.VerticalScroll.Visible Or MyFlowLayoutPanel1.HorizontalScroll.Visible) Then Me.Height -= u.Height
End If
End Sub
AddHandler u.cboLKW.SelectedIndexChanged, Sub()
If u.cboLKW.Text = "" Then
If MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1) IsNot u Then
MyFlowLayoutPanel1.Controls.Remove(u)
If Not (MyFlowLayoutPanel1.VerticalScroll.Visible Or MyFlowLayoutPanel1.HorizontalScroll.Visible) Then Me.Height -= u.Height
End If
Else
If MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1) Is u Then
addCntlLKW()
End If
End If
End Sub
MyFlowLayoutPanel1.Controls.Add(u)
If (Me.Top + Me.Height + u.Height) < My.Computer.Screen.WorkingArea.Height Then
Me.Height += u.Height
End If
u.cboLKW.Focus()
End Sub
Sub initSDL()
Dim Speditionsdienstleistungen As List(Of cSpeditionsdienstleistungen) = kundenSQL.getSpeditionsdienstleistungenByKdNr(kdnr)
'cboLeistungen.Items.Clear()
For Each c As Control In FlowLayoutPanel.Controls
If c.GetType.ToString = "System.Windows.Forms.Button" Then c.Enabled = False : DirectCast(c, Button).FlatAppearance.BorderColor = Color.LightGray
Next
For Each s In Speditionsdienstleistungen
For Each c As Control In FlowLayoutPanel.Controls
If c.GetType.ToString = "System.Windows.Forms.Button" Then
If DirectCast(c, Button).Tag = s.SDLNr Then
If s.Sperre Then
DirectCast(c, Button).FlatAppearance.BorderColor = Color.Red
Else
c.Enabled = True
DirectCast(c, Button).FlatAppearance.BorderColor = Color.Black
End If
End If
End If
Next
Next
End Sub
Sub checkKD()
' MsgBox(KdSearchBox1.KdNr_value)
If IsNumeric(KdSearchBox1.KdNr_value) AndAlso kundenSQL.existByKdNr(KdSearchBox1.KdNr_value) Then
' MsgBox(KdSearchBox1.KdNr_value)
kdnr = KdSearchBox1.KdNr_value
txtKundenNr.ForeColor = Color.Black
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)"
' Panel1.BackColor = IIf(cKunden.Abfertigungsverbot, Color.IndianRed, Color.FromArgb(0, 54, 128))
Label4.Visible = cKunden.Abfertigungsverbot
initSDL()
' init()
Else
txtKundenNr.ForeColor = Color.Red
'lblFirma.Text = ""
End If
End Sub
Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs)
's.row_kdNr = kdnr
'FlatButton1.PerformClick()
End Sub
Private Sub FlatButton3_Click(sender As Object, e As EventArgs)
Dim frmKundenSuche As New frmKundenSuche
If frmKundenSuche.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
txtKundenNr.Text = frmKundenSuche.kundenNrSearch.Text
End If
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
Me.DialogResult = Windows.Forms.DialogResult.None
Me.Close()
End Sub
Private Sub frmNewData_Scroll(sender As Object, e As ScrollEventArgs) Handles Me.Scroll
End Sub
Private Sub frmNewData_Shown(sender As Object, e As EventArgs) Handles Me.Shown
If LeistungVordefiniert > 0 Then
'FlowLayoutPanel.Visible = False
Me.Height = Me.Height - (FlowLayoutPanel.Height)
FlowLayoutPanel.Height = 0
FlowLayoutPanel.Enabled = False
With btnAddLeistungVordefiniert
Select Case LeistungVordefiniert
Case 100 : btnAddLeistungVordefiniert.Image = My.Resources.ids : btnAddLeistungVordefiniert.Text = "IDS" & vbNewLine & "hinzufügen"
Case 101 : btnAddLeistungVordefiniert.Image = My.Resources.woelfl : btnAddLeistungVordefiniert.Text = "Wölfl" & vbNewLine & "hinzufügen"
Case 212 : btnAddLeistungVordefiniert.Image = My.Resources.uta : btnAddLeistungVordefiniert.Text = "UTA" & vbNewLine & "hinzufügen"
Case 200 : btnAddLeistungVordefiniert.Image = My.Resources.go : btnAddLeistungVordefiniert.Text = "Maut AT" & vbNewLine & "hinzufügen"
Case 201 : btnAddLeistungVordefiniert.Image = My.Resources.toll_collect : btnAddLeistungVordefiniert.Text = "Maut DE" & vbNewLine & "hinzufügen"
Case 202 : btnAddLeistungVordefiniert.Image = My.Resources.telepass : btnAddLeistungVordefiniert.Text = "Maut IT" & vbNewLine & "hinzufügen"
Case 203 : btnAddLeistungVordefiniert.Image = My.Resources.premid : btnAddLeistungVordefiniert.Text = "Maut CZ" & vbNewLine & "hinzufügen"
Case 213 : btnAddLeistungVordefiniert.Image = My.Resources.hugo : btnAddLeistungVordefiniert.Text = "Hugo" & vbNewLine & "hinzufügen"
Case 214 : btnAddLeistungVordefiniert.Image = My.Resources.plose : btnAddLeistungVordefiniert.Text = "PLOSE" & vbNewLine & "hinzufügen"
Case 215 : btnAddLeistungVordefiniert.Image = My.Resources.plose_it : btnAddLeistungVordefiniert.Text = "PLOSE IT" & vbNewLine & "hinzufügen"
Case 216 : btnAddLeistungVordefiniert.Image = My.Resources.plose_cz : btnAddLeistungVordefiniert.Text = "PLOSE CZ" & vbNewLine & "hinzufügen"
Case 217 : btnAddLeistungVordefiniert.Image = My.Resources.plose_medpass : btnAddLeistungVordefiniert.Text = "MEDPASS" & vbNewLine & "hinzufügen"
Case 218 : btnAddLeistungVordefiniert.Image = My.Resources.plose_truckmaster : btnAddLeistungVordefiniert.Text = "TruckMaster" & vbNewLine & "hinzufügen"
Case 209 : btnAddLeistungVordefiniert.Image = My.Resources.viatoll : btnAddLeistungVordefiniert.Text = "Maut PL" & vbNewLine & "hinzufügen"
Case 210 : btnAddLeistungVordefiniert.Image = My.Resources.abc_obu : btnAddLeistungVordefiniert.Text = "Maut SI" & vbNewLine & "hinzufügen"
Case 208 : btnAddLeistungVordefiniert.Image = My.Resources.mse : btnAddLeistungVordefiniert.Text = "MSE" & vbNewLine & "hinzufügen"
Case 205 : btnAddLeistungVordefiniert.Image = Nothing : btnAddLeistungVordefiniert.Text = "MotorWay" & vbNewLine & "hinzufügen"
Case 211 : btnAddLeistungVordefiniert.Image = My.Resources.axxes : btnAddLeistungVordefiniert.Text = "MULTIBOX" & vbNewLine & "hinzufügen"
Case 207 : btnAddLeistungVordefiniert.Image = My.Resources.frejus : btnAddLeistungVordefiniert.Text = "FREJUS" & vbNewLine & "hinzufügen"
Case 206 : btnAddLeistungVordefiniert.Image = Nothing : btnAddLeistungVordefiniert.Text = "DouBox" & vbNewLine & "hinzufügen"
Case 500 : btnAddLeistungVordefiniert.Image = My.Resources.Plakette1 : btnAddLeistungVordefiniert.Text = "MAN Abgas" & vbNewLine & "hinzufügen"
Case 501 : btnAddLeistungVordefiniert.Image = My.Resources.verag_Card1 : btnAddLeistungVordefiniert.Text = "Parkplatz" & vbNewLine & "hinzufügen"
Case 502 : btnAddLeistungVordefiniert.Image = My.Resources.verag_Card1 : btnAddLeistungVordefiniert.Text = "Parkplatz" & vbNewLine & "hinzufügen"
End Select
.Visible = True
.Tag = LeistungVordefiniert
End With
End If
MyFlowLayoutPanel1.Height = Me.Height - MyFlowLayoutPanel1.Top - FlowLayoutPanel.Height
MyFlowLayoutPanel1.Anchor = AnchorStyles.Left Or AnchorStyles.Top Or AnchorStyles.Bottom
If KdSearchBox1.KdNr > 0 Then
If MyFlowLayoutPanel1.Controls.Count > 0 Then
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).cboLKW.Text = KfzKennzeichen
End If
Else
KdSearchBox1.Focus()
End If
MyFlowLayoutPanel1.HorizontalScroll.Maximum = 0
MyFlowLayoutPanel1.AutoScroll = False
MyFlowLayoutPanel1.VerticalScroll.Visible = False
MyFlowLayoutPanel1.AutoScroll = True
End Sub
Private Sub KdSearchBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles KdSearchBox1.KeyDown
If e.KeyCode = Keys.Return Then
e.SuppressKeyPress = True
If MyFlowLayoutPanel1.Controls.Count > 0 Then
DirectCast(MyFlowLayoutPanel1.Controls(0), usrcntlNewDataLKW).cboLKW.Text = KfzKennzeichen
End If
End If
End Sub
Private Sub btnSDL_Woelfl_Click(sender As Object, e As EventArgs) Handles btnSDL_Woelfl.Click, btnSDL_IDS.Click, btnSDL_MautAT.Click, btnSDL_MautDE.Click, btnSDL_MautMSE.Click, btnSDL_UTA.Click, btnSDL_MautPL.Click,
btnSDL_MautIT.Click, btnSDL_MautSI.Click, btnSDL_MautCZ.Click, btnSDL_ECOTAX.Click, btnSDL_FREJUS.Click, btnSDL_Hugo.Click, btnSDL_DouBox.Click, btnSDL_MotorWay.Click, btnSDL_MautFR.Click, btnAddLeistungVordefiniert.Click, btnSDL_MANAbgas.Click,
btnVeragParkplatz.Click, btnSDL_PLOSE.Click, btnSDL_PLOSE_IT.Click, btnSDL_PLOSE_CZ.Click, btnSDL_PLOSE_MEDPASS.Click, btnVeragParkplatzNEU.Click, btnSDL_PLOSE_TRUCKMASTER.Click
If KdSearchBox1.KdNr <= 0 Then MsgBox("Kunde auswählen!") : Exit Sub
Dim min1LKW = False
For Each c In MyFlowLayoutPanel1.Controls
If DirectCast(c, usrcntlNewDataLKW).cboLKW._value <> "" Then min1LKW = True
Next
If Not min1LKW Then MsgBox("LKW auswählen!") : Exit Sub
For Each c In MyFlowLayoutPanel1.Controls
Dim cbo As VERAG_PROG_ALLGEMEIN.MyComboBox = DirectCast(c, usrcntlNewDataLKW).cboLKW
If cbo._value <> "" Then
If sender.tag = "501" Or sender.tag = "502" Then
Dim kdnr_tmp = KdSearchBox1.KdNr
Dim kfz_tmp = cbo.Text
Dim history = PF.newEntryVERAG_Card(KdSearchBox1.KdNr, cbo.Text, sender.tag)
If history = -1 Then Exit Sub
Me.SDLLeistung = sender.tag
Me.kdnr = kdnr_tmp
Me.KfzKennzeichen = kfz_tmp
Me.history = history
Else
Dim history = PF.newEntry(KdSearchBox1.KdNr, cbo.Text, sender.tag)
Me.SDLLeistung = sender.tag
Me.kdnr = KdSearchBox1.KdNr
Me.KfzKennzeichen = cbo.Text
Me.history = history
End If
End If
Next
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub FlatButton1_Click_1(sender As Object, e As EventArgs) Handles FlatButton1.Click
Me.DialogResult = Windows.Forms.DialogResult.None
Me.Close()
End Sub
End Class
' If SDLNr = 501 Then
' If KundenNr <= 0 Then Return "CANCEL"
' If KfzKennzeichen = "" Then KfzKennzeichen = InputBox("KfzKennzeichen eingeben:")
' If KfzKennzeichen = "" Then Return "CANCEL"
'Dim f As New frmFindNewVeragCard
' If f.ShowDialog(control) = DialogResult.OK Then
'Dim SDLTMP As New cSDL(f.kdNr, f.KfzKennzeichen, f.SDLNr, f.History)
' SDLTMP.KundenNr = KundenNr
' SDLTMP.KfzKennzeichen = KfzKennzeichen
' If SDLTMP.SAVE() Then
' KfzKennzeichen = SDLTMP.KfzKennzeichen
' History = SDLTMP.History
' SDLNr = 501
' Return "OK"
' Else
' Return "CANCEL"
' End If
' Else
' Return "CANCEL"
' End If
' Else