Imports IntraSell_DLL
Imports IntraSell_Net_Base

Public Class ZustellerAuftrag

    Public Property Vorgang As VorgangInBearbeitung

    Property MitarbeiterNr As Integer


    Private Sub ZustellerAuftrag_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            ParentBindingNavigator.Visible = False

            ErstelleGoogleMapsLink(LinkLabelGoogleMaps, Vorgang)

            LabelAftragText.Text = "Google Maps: " & LinkLabelGoogleMaps.Tag & vbNewLine &
                GetBestellungText(Vorgang, VORLAGE_RECHNUNG)


            UcMitarbeiter1.DatenAktualisierenMitarbeiter()
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub Form_Verlassen() Handles MyBase.Verlassen
        Me.Close()
    End Sub

    Private Sub UcMitarbeiter1_MitarbeiterSelected(ByRef _MitarbeiterNr As Integer, ByRef MitarbeiterName As String) Handles UcMitarbeiter1.MitarbeiterSelected
        Try
            MitarbeiterNr = _MitarbeiterNr
            TextBoxZusteller.Text = ModuleMitarbeiter.MitarbeiterName(MitarbeiterNr)
            TextBoxEmail.Text = MitarbeiterFeld(MitarbeiterNr, "Email")
            TextBoxMobil.Text = MitarbeiterFeld(MitarbeiterNr, "Mobil")
            TextBoxAbsenderEmail.Text = VarValue_Default(Variablen.FIRMA_EMAIL, "office@griton.net")
            ValidateEmail()
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub UcMitarbeiter1_Load(sender As Object, e As EventArgs) Handles UcMitarbeiter1.Load

    End Sub

    Private Sub ButtonAuftrag_Click(sender As Object, e As EventArgs) Handles ButtonAuftrag.Click
        Try
            Dim AuftragText = LabelAftragText.Text
            SetVorgangStatusUndSendeMessageFuerStatus(Vorgang, VorgangStatus.WIRD_ZUGESTELLT, MitarbeiterNr, ButtonAuftrag, ZusatzText:=AuftragText, MitarbeiterNotifizieren:=True)

            Dim timer = New Timer With {
                .Interval = 3000,
                .Enabled = True
            }
            AddHandler timer.Tick, AddressOf AfterAuftrag
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub


    Private Sub AfterAuftrag(sender As Object, e As EventArgs)
        Try
            Close()
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub


    Private Sub TextBoxEmail_Validated(sender As Object, e As EventArgs) Handles TextBoxEmail.Validated
        Try
            SetFeld(MitarbeiterNr, "Email", TextBoxEmail.Text)
            ValidateEmail()
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub TextBoxMobil_Validated(sender As Object, e As EventArgs) Handles TextBoxMobil.Validated
        Try
            SetFeld(MitarbeiterID, "Mobil", TextBoxMobil.Text)
        Catch ex As Exception
            HandleAppError(ex)
        End Try
    End Sub

    Private Sub ValidateEmail()
        If TextBoxEmail.Text.Contains("@") Then
            ButtonAuftrag.Enabled = True
            TextBoxEmail.ForeColor = Color.Black
        Else
            TextBoxEmail.Text = "Email Zusteller eintragen!"
            TextBoxEmail.ForeColor = Color.Red
        End If
    End Sub

End Class