Files
SDL/SDL/mdm/SDLLeistungenDetails/usrCntlSDLLeistungenWOELFL.vb
2020-09-23 07:24:25 +02:00

225 lines
8.4 KiB
VB.net

Imports System.Globalization
Public Class usrCntlSDLLeistungenWOELFL
Public KfzKennzeichen As String
Public kdNr As String
Public SDLNr As String
Public History As String
Dim kundenSQL As New kundenSQL
Dim culture As CultureInfo = New CultureInfo("de-DE")
Public addnew As Boolean = False
'Public WithEvents s As New cBinding 'fürs Binding
Public SDL As VERAG_PROG_ALLGEMEIN.cSDL
Public Event LKWChanged(kdNr, newKfz, SDLNr, History)
Public Event CHANGED(kdNr, newKfz, SDLNr, History)
Public PROG As New cProgramFunctions
Private PartnerKdNrFromFMZOLL As cPartnerKdNRFMZoll
Dim VAL As New cValidationSDLLeistungen
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 usrCntlSDLLeistungenCZ_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:
scanPIN.INIT(kdNr, KfzKennzeichen, "SDL_" & SDLNr, "HIST_" & History)
scanSonstiges.INIT(kdNr, KfzKennzeichen, "SDL_" & SDLNr, "HIST_" & History)
initDataBinding()
boud = True
If txtClientNr.Text = "" Then
getPartnerKdNrFromFMZOLL() ' Lädt die Partner-KdNr
txtClientNr.Text = PartnerKdNrFromFMZOLL.WölflKundenNr
End If
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
Function gueltigBisabgelaufen(o) As Boolean
If CDate(o) > Now Then
Return False
End If
Return True
End Function
Sub initDataBinding()
Try
SDL = New VERAG_PROG_ALLGEMEIN.cSDL(kdNr, KfzKennzeichen, SDLNr, History)
PROG.initDTPE(txtLieferung)
PROG.initDTPE(txtBestellung)
txtLieferung._value = SDL.Lieferdatum
txtBestellung._value = SDL.Bestelldatum
cbxErsatzkarte._date = SDL.ErsatzkarteAm
cbxVerloren._date = SDL.VerlorenAm
cbxGestohlen._date = SDL.GestohlenAm
cbxGesperrt._date = SDL.GesperrtAm
cbxDefekt._date = SDL.DefektAm
cbxGesperrt.Checked = SDL.Gesperrt
cbxDefekt.Checked = SDL.Defekt
cbxGestohlen.Checked = SDL.Gestohlen
cbxVerloren.Checked = SDL.Verloren
cbxArchiviert.Checked = SDL.Archiviert
cbxErsatzkarte.Checked = SDL.Ersatzkarte
txtVermerk.Text = SDL.Vermerk
UsrCntlDetails.lblErfassung.Text = SDL.Erfassungsdatum
UsrCntlDetails.lblAenderung.Text = SDL.Änderungsdatum
UsrCntlDetails.lblSachbearb.Text = SDL.Sachbearbeiter
txtPIN.Text = SDL.PIN
PROG.initPIN(txtPIN)
txtKartenschluesselNummer.Text = SDL.KartenSchlüsselNr
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 txtBestellung.Text = "" Then txtBestellung.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.Lieferdatum = PROG.isEmptyNull(txtLieferung._value)
SDL.Bestelldatum = PROG.isEmptyNull(txtBestellung._value)
SDL.Gesperrt = cbxGesperrt.Checked
SDL.Defekt = cbxDefekt.Checked
SDL.Gestohlen = cbxGestohlen.Checked
SDL.Verloren = cbxVerloren.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.PIN = txtPIN.Text
SDL.KartenSchlüsselNr = txtKartenschluesselNummer.Text
SDL.ErsatzkarteAm = cbxErsatzkarte._date
SDL.VerlorenAm = cbxVerloren._date
SDL.GestohlenAm = cbxGestohlen._date
SDL.GesperrtAm = cbxGesperrt._date
SDL.DefektAm = cbxDefekt._date
SDL.Archiviert = cbxArchiviert.Checked
End Sub
Public Sub reInit()
For Each c In Me.Controls
If c.GetType.Name = "TextBox" Then
Dim tb As TextBox = DirectCast(c, TextBox)
tb.Text = tb.Text
' MsgBox(tb.Name)
End If
Next
End Sub
Function checkSave() As Boolean
' ' If Not VAL.checkValidDate(txtBestellung, True) Then Return False 'cProgramFunctions.setInfo(Me.FindForm, "ERR", "Bestelldatum: Datumsformat nicht korrekt!", 3) : Return False
' If Not VAL.checkValidDate(txtLieferung, True) Then Return False 'cProgramFunctions.setInfo(Me.FindForm, "ERR", "Lieferdatum: Datumsformat nicht korrekt!", 3) : Return False
' If Not VAL.checkValidDate(txtGueltigkeit, True) Then Return False 'cProgramFunctions.setInfo(Me.FindForm, "ERR", "Gültigkeitsdatum: Datumsformat nicht korrekt!", 3) : Return False
Return True
End Function
'??????????????????????????????????????????????????????????????????????????????????
' DGV mit CRTL+S speichern
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs) Handles MyBase.PreviewKeyDown
Exit Sub
'If dgvSDLLeistungen.Focused Or (Not dgvSDLLeistungen.EditingControl Is Nothing AndAlso dgvSDLLeistungen.EditingControl.Focused) Then ' wenn DGV fokusiert, oder in Bearbeitung
If e.Modifiers = Keys.Control Then
If e.KeyCode = Keys.S Then
' dgvSDLLeistungen.EndEdit() ' Falls noch in Bearbeitung
save() ' Speichern
End If
End If
End Sub
Private Sub txtBestellung_TextChanged(sender As Object, e As EventArgs) Handles txtBestellung.PropertyChanged, txtLieferung.PropertyChanged, txtPIN.TextChanged, txtKartenschluesselNummer.TextChanged, txtVermerk.TextChanged, cbxErsatzkarte.CheckedChanged, cbxDefekt.CheckedChanged, cbxVerloren.CheckedChanged, cbxGestohlen.CheckedChanged, cbxGesperrt.CheckedChanged, cbxArchiviert.CheckedChanged
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 txtLieferung 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
End Class