Files
SDL/SDL/mdm/SDLLeistungenDetails/usrCntlSDLLeistungVERAGCard.vb
2020-06-23 08:29:29 +02:00

272 lines
10 KiB
VB.net

Imports System.Globalization
Imports SDL.cBinding
Public Class usrCntlSDLLeistungVERAGCard
Public KfzKennzeichen As String
Public kdNr As String
Public History As String
Dim PROG As New cProgramFunctions
Dim kundenSQL As New kundenSQL
Public SDLNr As String
Dim culture As CultureInfo = New CultureInfo("de-DE")
Private PartnerKdNrFromFMZOLL As cPartnerKdNRFMZoll
Public addnew As Boolean = False
Dim VAL As New cValidationSDLLeistungen
Public Event LKWChanged(kdNr, newKfz, SDLNr, History)
Public Event CHANGED(kdNr, newKfz, SDLNr, History)
'Public WithEvents s As New cBinding 'fürs Binding
Public SDL As VERAG_PROG_ALLGEMEIN.cSDL
Dim boud = False
Sub New(kdNr, KfzKennzeichen, SDLNr, History)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.kdNr = kdNr
Me.KfzKennzeichen = KfzKennzeichen
Me.SDLNr = SDLNr
Me.History = History
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub usrCntlSDLLeistungen_Load(sender As Object, e As EventArgs) Handles Me.Load
UsrCntlDetails.kdNr = kdNr
UsrCntlDetails.SDLNr = SDLNr
UsrCntlDetails.History = History
UsrCntlDetails.lblLKWNr.Text = KfzKennzeichen
AddHandler UsrCntlDetails.LKWChanged, Sub(newKfz)
RaiseEvent LKWChanged(kdNr, newKfz, SDLNr, History)
End Sub
'Scan-Elemente initialisieren:
' scanRetourniert.INIT(kdNr, KfzKennzeichen, "SDL_" & SDLNr, "HIST_" & History)
scanSonstiges.INIT(kdNr, KfzKennzeichen, "SDL_" & SDLNr, "HIST_" & History)
' PROG.addPicToGueltigBis(txtGueltigkeit)
initDataBinding()
boud = True
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Leistungen_bearbeiten", Me.FindForm) Then
cProgramFunctions.setControlReadOnly(Me)
End If
End Sub
Sub getPartnerKdNrFromFMZOLL() ' Lädt die Partner-KdNr
PartnerKdNrFromFMZOLL = kundenSQL.getPartnerKdNrFromFMZOLL(kdNr)
End Sub
Sub initDataBinding()
Try
SDL = New VERAG_PROG_ALLGEMEIN.cSDL(kdNr, KfzKennzeichen, SDLNr, History)
PROG.initDTPE(txtBestelldatum)
PROG.initDTPE(txtLieferung)
txtBestelldatum._value = SDL.Bestelldatum
txtLieferung._value = SDL.Lieferdatum
cbxErsatzkarte._date = SDL.ErsatzkarteAm
cbxVerloren._date = SDL.VerlorenAm
cbxGestohlen._date = SDL.GestohlenAm
cbxGesperrt._date = SDL.GesperrtAm
cbxDefekt._date = SDL.DefektAm
cbxAbgemeldet._date = SDL.LKWAbgemeldetAM
cbxGesperrt.Checked = SDL.Gesperrt
cbxDefekt.Checked = SDL.Defekt
cbxGestohlen.Checked = SDL.Gestohlen
cbxVerloren.Checked = SDL.Verloren
cbxArchiviert.Checked = SDL.Archiviert
cbxAbgemeldet.Checked = SDL.LKWAbgemeldet
cbxErsatzkarte.Checked = SDL.Ersatzkarte
txtVermerk.Text = SDL.Vermerk
UsrCntlDetails.lblErfassung.Text = SDL.Erfassungsdatum
UsrCntlDetails.lblAenderung.Text = SDL.Änderungsdatum
UsrCntlDetails.lblSachbearb.Text = SDL.Sachbearbeiter
txtKartenNr.Text = SDL.KartenNr
txtFahrer.Text = SDL.Fahrer
txtKaution._value = SDL.Kaution
txtBelegNr.Text = SDL.BelegNr
Catch ex As Exception
MsgBox(ex.Message)
MsgBox(ex.StackTrace)
End Try
End Sub
Public Sub newEntry()
' s.updateBinding()
' s.newEntry(kdNr, KfzKennzeichen, SDLNr) 'NEUER EINTRAG!
If txtBestelldatum.Text = "" Then txtBestelldatum.Text = Now.ToShortDateString
End Sub
Sub BindingTableColumnChanged()
UsrCntlDetails.lblSachbearb.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
UsrCntlDetails.lblAenderung.Text = Now.ToString("dd.MM.yyyy HH:mm")
' If e.Column.ColumnName = "Sachbearbeiter" Or e.Column.ColumnName = "Änderungsdatum" Then Exit Sub
If save() Then RaiseEvent CHANGED(kdNr, KfzKennzeichen, SDLNr, History)
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs)
Dim valid As Boolean = VAL.checkValidDate(sender, True)
End Sub
Public Function save() As Boolean
loadDataInClass()
Return SDL.SAVE
'If checkSave() Then
' Return kundenSQL.doSQLByList(s.bindingSource)
'End If
Return False
End Function
Sub loadDataInClass()
SDL.Bestelldatum = PROG.isEmptyNull(txtBestelldatum._value)
SDL.Lieferdatum = PROG.isEmptyNull(txtLieferung._value)
SDL.Gesperrt = cbxGesperrt.Checked
SDL.Defekt = cbxDefekt.Checked
SDL.Gestohlen = cbxGestohlen.Checked
SDL.Verloren = cbxVerloren.Checked
SDL.LKWAbgemeldet = cbxAbgemeldet.Checked
SDL.Ersatzkarte = cbxErsatzkarte.Checked
SDL.Vermerk = txtVermerk.Text
SDL.Erfassungsdatum = UsrCntlDetails.lblErfassung.Text
SDL.Änderungsdatum = UsrCntlDetails.lblAenderung.Text
SDL.Sachbearbeiter = UsrCntlDetails.lblSachbearb.Text
SDL.KartenNr = txtKartenNr.Text
SDL.Fahrer = txtFahrer.Text
SDL.Kaution = txtKaution._value
SDL.BelegNr = txtBelegNr.Text
SDL.ErsatzkarteAm = cbxErsatzkarte._date
SDL.VerlorenAm = cbxVerloren._date
SDL.LKWAbgemeldetAM = cbxAbgemeldet._date
SDL.GestohlenAm = cbxGestohlen._date
SDL.GesperrtAm = cbxGesperrt._date
SDL.DefektAm = cbxDefekt._date
SDL.Archiviert = cbxArchiviert.Checked
End Sub
Function checkSave() As Boolean
' If Not VAL.checkValidDate(txtBestellung, True) Then cProgramFunctions.setInfo(Me.FindForm, "ERR", "Bestelldatum: Datumsformat nicht korrekt!", 3) : Return False
' If Not VAL.checkValidDate(txtLieferung, True) Then cProgramFunctions.setInfo(Me.FindForm, "ERR", "Lieferdatum: Datumsformat nicht korrekt!", 3) : Return False
' If Not VAL.checkValidDate(txtGueltigkeit, True) Then cProgramFunctions.setInfo(Me.FindForm, "ERR", "Gültigkeitsdatum: Datumsformat nicht korrekt!", 3) : Return False
Return True
End Function
Private Sub txtBestellung_TextChanged(sender As Object, e As EventArgs) Handles txtBestelldatum.PropertyChanged, txtLieferung.PropertyChanged, txtKartenNr.TextChanged, txtVermerk.TextChanged, cbxErsatzkarte.CheckedChanged, cbxDefekt.CheckedChanged, cbxVerloren.CheckedChanged, cbxGestohlen.CheckedChanged, cbxGesperrt.CheckedChanged, cbxArchiviert.CheckedChanged, cbxAbgemeldet.CheckedChanged,
txtKaution.TextChanged, txtFahrer.TextChanged, txtBelegNr.TextChanged
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Leistungen_bearbeiten", Me.FindForm) Then Exit Sub
If boud And Me.FindForm IsNot Nothing Then
If sender Is txtBestelldatum Then
If Not PROG.checkSDLNrPartnerKdNr(kdNr, SDLNr) Then MsgBox("Bitte geben Sie die Partner-Kundennummer im Kundenblatt oder im FM-ZOLL ein!")
End If
BindingTableColumnChanged()
End If
End Sub
Function addTxtToVermerk(tmp, txt) As String
If txtVermerk.Text <> "" Then tmp &= " / "
tmp &= txt & ", am " & Now.ToShortDateString
If tmp.Length > txtVermerk.MaxLength Then tmp = tmp.Substring(0, txtVermerk.MaxLength)
Return tmp
End Function
'Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
' If txtKartenNr.Text = "" Then
' Dim f As New frmFindNewVeragCard
' If f.ShowDialog(Me) = DialogResult.OK Then
' Dim tmpKFZ = Me.KfzKennzeichen
' Dim tmpKdNr = Me.KfzKennzeichen
' Me.kdNr = f.kdNr
' Me.KfzKennzeichen = f.KfzKennzeichen
' Me.SDLNr = f.SDLNr
' Me.History = f.History
' initDataBinding()
' Me.KfzKennzeichen = tmpKFZ
' Me.kdNr = tmpKdNr
' save()
' End If
' '
' End If
'
' End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
If clearVeragCard(kdNr, KfzKennzeichen, History) Then
RaiseEvent CHANGED(kdNr, KfzKennzeichen, SDLNr, History)
Me.Visible = False
End If
End Sub
Shared Function clearVeragCard(kdNr, KfzKennzeichen, History) As Boolean
Dim kundenSQL As New kundenSQL
'VERAG Card zurücksetzen --> Kdnr=-1
If vbYes = MsgBox("Möchten Sie die Zuordnung der VERAG-Card wirklich aufheben?", vbYesNoCancel) Then
Dim hist = kundenSQL.getValueTxtBySql("SELECT isnull(max([History]),0)+1 as History FROM SDL where KundenNr = '-1' AND KfzKennzeichen='" & KfzKennzeichen & "' And SDLNr ='501' ", "SDL")
' MsgBox("UPDATE [SDL] set KundenNr='-1', History='" & History & "' WHERE KundenNr='" & kdNr & "' and KfzKennzeichen='" & KfzKennzeichen & "' and History='" & History & "' and SDLNr=501 ")
If kundenSQL.doSQL("UPDATE [SDL] set KundenNr='-1', History='" & hist & "' WHERE KundenNr='" & kdNr & "' and KfzKennzeichen='" & KfzKennzeichen & "' and History='" & History & "' and SDLNr=501 ", "SDL") Then
Return True
End If
End If
Return False
End Function
Shared Function clearAllVeragCard(kdNr, KfzKennzeichen) As Boolean
Try
Dim kundenSQL As New kundenSQL
'VERAG Card zurücksetzen --> Kdnr=-1
Dim dt = kundenSQL.loadDgvBySql("Select History FROM SDL WHERE KundenNr='" & kdNr & "' and KfzKennzeichen='" & KfzKennzeichen & "'and SDLNr=501")
If dt IsNot Nothing Then
For Each r In dt.Rows
Dim hist = kundenSQL.getValueTxtBySql("SELECT isnull(max([History]),0)+1 as History FROM SDL where KundenNr = '-1' AND KfzKennzeichen='" & KfzKennzeichen & "' And SDLNr ='501' ", "SDL")
kundenSQL.doSQL("UPDATE [SDL] set KundenNr='-1', History='" & hist & "' WHERE KundenNr='" & kdNr & "' and KfzKennzeichen='" & KfzKennzeichen & "' and History='" & r("History") & "' and SDLNr=501 ", "SDL")
Next
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
End Class