Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO Public Class frmEintragAvisoInfo 'Public frmHilf As frmTabelleAviso Dim AvisoDAL As New cAvisoDAL Dim myAviso As New cAviso Dim hÄnderung As Boolean = False Dim Neuanlage As Boolean = False Dim hStatus As Integer Public Sub New() InitializeComponent() Icon = cMeineFunktionenAVISO.GetProgrammIcon End Sub Private Sub frmEintragAvisoInfo_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown 'Escape händisch abfangen und auf Abbruch-Taste legen If e.KeyCode = Keys.Escape Then btnAbbruch.PerformClick() End If End Sub Private Sub frmEintragAvisoInfo_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.CenterToParent() 'ausgewählter Datensatz wird geladen myAviso = AvisoDAL.LesenAviso(cGlobal.Aktive_ID, "") txtInfoNeu.Text = "" 'Werte(zuweisen) txtDatum.Text = Format(myAviso.Datum, "dd.MM.yyyy") txtFrächter.Text = myAviso.Frächter txtAuftraggeber.Text = myAviso.Auftraggeber txtInfo.Text = myAviso.Info.Trim txtLKW_Nr.Text = myAviso.LKW_Nr txtÄnderungen.Text = myAviso.Änderungen.Trim hStatus = myAviso.Status Select Case hStatus Case cGlobal.Status_Ankunft lblStatus.Text = "Ankunft" If myAviso.Ankunft <> LeerDatum Then lblStatus.Text += " " & Format(myAviso.Ankunft, "dd.MM. HH:mm") lblStatus.ForeColor = Color.Blue btnFreigabe.Visible = True Case cGlobal.Status_Erfasst lblStatus.Text = "erfasst" lblStatus.ForeColor = Color.Red btnAnkunft.Visible = True Case cGlobal.Status_Freigegeben lblStatus.Text = "Freigabe " & Format(myAviso.Freigabe, "dd.MM. HH:mm") lblStatus.ForeColor = Color.Green Case cGlobal.Status_NichtEingetroffen lblStatus.Text = "LKW nicht eingetroffen" lblStatus.ForeColor = Color.DarkGray btnAnkunft.Visible = True Case Else lblStatus.Text = "" End Select lblStatus.Text = " " & lblStatus.Text & " " 'für bessere farbliche Hervorhebung End Sub Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click 'Irgendwas wurde geändert, deshalb ein Hinweis, ob auch wirklich abgebrochen werden soll 'If hÄnderung Then ' Dim antwort As MsgBoxResult = MsgBox("Wollen Sie wirklich abbrechen?" & vbCrLf & vbCrLf & "Alle Änderungen gehen dabei verloren.", CType(MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, MsgBoxStyle), ' "Dateneingabe wird abgebrochen") ' If antwort = vbNo Then ' Exit Sub ' End If 'End If Me.Close() End Sub 'Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtInfo.GotFocus ' CType(sender, TextBox).SelectAll() 'End Sub 'Private Sub txtBilanzart_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtBilanzart.TextChanged, txtBilanzart.TextChanged, txtAIS_Bilanzart.TextChanged, txtInfo.TextChanged, txtAviso.TextChanged ' hÄnderung = True 'es wurde etwas geändert 'End Sub 'Private Sub txtAviso_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) ' 'Es sind nur Zahleneingaben erlaubt ' Dim asc As Integer = Convert.ToInt32(e.KeyChar) ' Select Case asc ' 'Folgende Tasten sind erlaubt ' '8 = Rücktaste (Back) ' '13 = Enter ' '27 = Esc ' '48 To 57 = 0 bis 9 ' Case 8, 13, 27, 48 To 57 ' Case Else ' e.Handled = True ' End Select 'End Sub Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click 'nur speichern, wenn Infotext eingetragen wurde If txtInfoNeu.Text.Trim <> "" Then Dim aendart As String = "Info" Dim aendtext As String = "Info '" & Trim(txtInfoNeu.Text.Trim) & "' hinzugefügt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") myAviso.Änderungen = "Info '" & Trim(txtInfoNeu.Text.Trim) & "' hinzugefügt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & txtÄnderungen.Text myAviso.letzterMitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter If txtInfo.Text = "" Then myAviso.Info = txtInfoNeu.Text.Trim Else If txtInfo.Text.Trim.EndsWith(vbCrLf) Then myAviso.Info += txtInfoNeu.Text.Trim Else myAviso.Info += "; " & txtInfoNeu.Text.Trim End If End If Dim tmpid = AvisoDAL.SpeichernAviso(myAviso) AvisoDAL.addAenderung(tmpid, aendart, aendtext) End If 'Jetzt wird Fenster geschlossen Me.Close() End Sub Private Sub btnAnkunft_Click(sender As System.Object, e As System.EventArgs) Handles btnAnkunft.Click If hStatus = cGlobal.Status_Freigegeben Then MsgBox("Aviso ist bereits auf FREIGABE gesetzt!", vbInformation) Exit Sub End If If hStatus = cGlobal.Status_Ankunft Then MsgBox("Aviso ist bereits auf ANKUNFT gesetzt!", vbInformation) Exit Sub End If myAviso.Status = cGlobal.Status_Ankunft myAviso.Ankunft = Now myAviso.Änderungen = "auf ANKUNFT gesetzt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & myAviso.Änderungen myAviso.letzterMitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter Dim tmpid = AvisoDAL.SpeichernAviso(myAviso) AvisoDAL.addAenderung(tmpid, "auf ANKUNFT gesetzt", "auf ANKUNFT gesetzt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")) MsgBox("Status wurde auf ANKUNFT gesetzt.", vbInformation) Me.Close() End Sub Private Sub btnFreigabe_Click(sender As System.Object, e As System.EventArgs) Handles btnFreigabe.Click If hStatus <> cGlobal.Status_Ankunft Then MsgBox("Aviso ist nicht auf ANKUNFT gesetzt!", vbInformation) Exit Sub End If myAviso.Status = cGlobal.Status_Freigegeben myAviso.Freigabe = Now If myAviso.Ankunft <> LeerDatum Then myAviso.Dauer = CInt(DateDiff(DateInterval.Hour, myAviso.Ankunft, Now)) If myAviso.Dauer = 0 Then myAviso.Dauer = 1 End If myAviso.Änderungen = "auf FREIGABE gesetzt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & myAviso.Änderungen myAviso.letzterMitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter Dim tmpid = AvisoDAL.SpeichernAviso(myAviso) AvisoDAL.addAenderung(tmpid, "auf FREIGABE gesetzt", "auf FREIGABE gesetzt von " & cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")) MsgBox("Status wurde auf FREIGABE gesetzt.", vbInformation) Me.Close() End Sub Private Sub txtInfoNeu_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles txtInfoNeu.KeyDown ' 'Es sind nur Zahleneingaben erlaubt ' Dim asc As Integer = Convert.ToInt32(e.KeyChar) ' Select Case asc ' 'Folgende Tasten sind erlaubt ' '8 = Rücktaste (Back) ' '13 = Enter ' '27 = Esc ' '48 To 57 = 0 bis 9 ' Case 8, 13, 27, 48 To 57 ' Case Else ' e.Handled = True ' End Select If e.KeyCode = Keys.Enter Then btnOK_Click(sender, e) 'Enter löst automatische Speicherung aus End If End Sub End Class