Public Class usrCntlEinheitspapier
    Dim POS_Zeahler = 0
    Public WT_LIST As VERAG_PROG_ALLGEMEIN.cZollTarifAtlas_LIST = Nothing

    Public Event ADD()
    Public Event DEC()
    Public Event KGchanged()

    Private Sub usrCntlEinheitspapier_Load(sender As Object, e As EventArgs) Handles Me.Load

        cboAnmeldung1.Items.Clear()
        cboAnmeldung1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboAnmeldung1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EU - Im Warenverkehr zwischen der Union und den Vertragsparteien des Übereinkommens zur Vereinfachung der Förmlichkeiten im Warenverkehr", "EU"))
        cboAnmeldung1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EX - Im Warenverkehr zwischen der Union und anderen Drittländern als den Vertragsparteien des Übereinkommens zur Vereinfachung der Förmlichkeiten im Warenverkehr", "EX"))
        cboAnmeldung1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CO - Im Warenverkehr zwischen den Mitgliedstaaten der Union", "CO"))

        cboAnmeldung2.Items.Clear()
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("A - für eine Ausfuhranmeldung (normales Verfahren, Artikel 162 UZK)", "A"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("B - für eine vereinfachte Ausfuhranmeldung ohne förmliche Bewilligung (vereinfachtes Verfahren, Artikel 166 Absatz 1 UZK)", "B"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("C - für eine vereinfachte Ausfuhranmeldung mit förmlicher Bewilligung (vereinfachtes Verfahren, Artikel 166 Absatz 2 UZK)", "C"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("D - für eine vereinfachte Ausfuhranmeldung mit förmlicher Bewilligung (vereinfachtes Verfahren; Bewilligungen 'Zugelassener Ausführer', die bis zum Abschluss der Neubewertung weiterhin gül-tig sind, Artikel 250 Absatz 1 UZK-DA und Artikel 345 Absatz 1 UZK-IA)", "D"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("X - für eine ergänzende Ausfuhranmeldung eines unter B definierten vereinfachten Verfahrens", "X"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Y - für eine ergänzende Ausfuhranmeldung eines unter C definierten vereinfachten Verfahrens", "Y"))
        cboAnmeldung2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Z - für eine ergänzende Ausfuhranmeldung eines unter D definierten vereinfachten Verfahrens", "Z"))


        txtDatum.Text = Now.ToShortDateString
        lkl.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
    End Sub

    Public Sub init()

        cboZulassungsinhaber.fillWithSQL("SELECT [Bewilligungsnummer], [Zulassungsinhaber]  FROM [Zulassungen ZnV]", True, "VERAG", True)
        cboFiliale.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True)

        txtUnterschrift.Text = "i.A.u.i.V." & vbNewLine & vbNewLine & "" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
       Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung
            Case "SUB" : txtOrt.Text = "Suben"
            Case "WAI" : txtOrt.Text = "Waidhaus"
            Case "SBG" : txtOrt.Text = "Bad Reichenhall"
            Case "NKD" : txtOrt.Text = "Nickelsdorf"
            Case "NEU" : txtOrt.Text = "Neuhaus am Inn"

        End Select

    End Sub

    Sub addPos(Optional P As cEPBesPos = Nothing)
        POS_Zeahler += 1
        Dim usr As New usrcntlEinheitspapierPos(POS_Zeahler)
        usr.WT_LIST = WT_LIST
        AddHandler usr.ADD, Sub()
                                addPos()
                            End Sub
        AddHandler usr.REMOVE, Sub(id)
                                   removePos(id)
                               End Sub

        AddHandler usr.KGchanged, Sub()
                                      RaiseEvent KGchanged()
                                  End Sub
        FlowLayoutPanel.Controls.Add(usr)
        Me.FlowLayoutPanel.Height += 250
        'Me.FlowLayoutPanel.AutoScrollOffset.Y = 2 ' = VerticalScroll.Maximum
        Me.FlowLayoutPanel.ScrollControlIntoView(usr)
        usr.Focus()

        If P IsNot Nothing Then
            usr.txtWarenbezeichnung.Text = If(P.Warenbezeichnung, "")
            usr.txtPackstuecke.Text = If(P.Packstücke, "")
            '  usr.cboPraeferenz.changeItem(If(P.Präferenz, ""))
            usr.cboPraeferenz.Text = If(P.Präferenz, "")
            usr.txtKontingent.Text = If(P.Kontingent, "")
            '  usr.txtEigenmasse.Text = If(P.Eigenmasse, "") --> varialer Wert, nicht laden
            usr.txtWtNr1.Text = If(P.Warennummer1, "")
            usr.txtWtNr2.Text = If(P.Warennummer2, "")
            usr.txtWtNr3.Text = If(P.Warennummer3, "")
            usr.txtWtNr4.Text = If(P.Warennummer4, "")
            usr.txtWtNr5.Text = If(P.Warennummer5, "")

            usr.txtBesondereVermerke.Text = If(P.BesondereVermerke, "")
            usr.cboUrsprungsland.changeItem(If(P.UrsprungslandCode, ""))
            usr.txtBesondereMaßenheit.Text = If(P.BesondereMasseinheit, "")
            usr.txtSumAnmeldungVorpapier.Text = If(P.SumAnmeldungVorpapier, "")
            usr.txtBemessungsgrundlage.Text = If(P.Bemessungsgrundlage, "")
            usr.txtVerfahren.Text = If(P.Verfahren, "")
        End If

        txtPosCount.Text = POS_Zeahler
        RaiseEvent ADD()
    End Sub

    Sub removePos(posNr)
        If FlowLayoutPanel.Controls.Count <= 1 Then Exit Sub

        For Each p In FlowLayoutPanel.Controls
            If DirectCast(p, usrcntlEinheitspapierPos).PosNr = posNr Then
                FlowLayoutPanel.Controls.Remove(p)
            End If
        Next
        POS_Zeahler = 0
        For Each p In FlowLayoutPanel.Controls
            POS_Zeahler += 1
            DirectCast(p, usrcntlEinheitspapierPos).setPos(POS_Zeahler) 'neue Reihung
        Next
        Me.FlowLayoutPanel.Height -= 250
        '   Me.FlowLayoutPanel.ScrollControlIntoView(usr)

        txtPosCount.Text = POS_Zeahler
        RaiseEvent DEC()
    End Sub

    Public Sub removeAllPos()

        Me.FlowLayoutPanel.Height -= (250 * FlowLayoutPanel.Controls.Count)
        FlowLayoutPanel.Controls.Clear()
        POS_Zeahler = 0
        txtPosCount.Text = POS_Zeahler
    End Sub
    Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboZulassungsinhaber.SelectedIndexChanged, txtBewilligungsnummer.TextChanged
        If sender IsNot txtBewilligungsnummer Then txtBewilligungsnummer.Text = cboZulassungsinhaber._value
        If cboZulassungsinhaber._value = "" Then Exit Sub

        ' Dim txt = DirectCast(cboZulassungsinhaber.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Text.Replace(DirectCast(cboZulassungsinhaber.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "")
        Dim txt = cboZulassungsinhaber.Text
        If cboZulassungsinhaber.SelectedIndex > 0 Then
            txt = txt.Replace(DirectCast(cboZulassungsinhaber.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "")
        End If
        If txt.StartsWith(" - ") Then txt = txt.Replace(" - ", "")
        'txtAngabenVerbuchungszwecke.Text = txt & vbNewLine & cboZulassungsinhaber._value

        txtAngabenVerbuchungszwecke.Text = txt & vbNewLine & txtBewilligungsnummer.Text

        ' txtUnterschrift.Text = "i.A.u.i.V." & vbNewLine & txt & vbNewLine & "" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME

        'End If
        'txtAngabenVerbuchungszwecke.Text = txt & vbNewLine & txtBewilligungsnummer._value

    End Sub


    Private Sub lkl_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lkl.LinkClicked
        Dim txt = ""
        If cboZulassungsinhaber._value <> "" Then 'and 
            If cboZulassungsinhaber.SelectedItem Is Nothing Then
                txt = cboZulassungsinhaber.Text.Trim
            Else
                txt = DirectCast(cboZulassungsinhaber.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Text.Replace(DirectCast(cboZulassungsinhaber.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, "")
            End If

            If txt.StartsWith(" - ") Then txt = txt.Replace(" - ", "")
        End If
        txtUnterschrift.Text = "i.A.u.i.V." & vbNewLine & txt & vbNewLine & "" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
        If txtUnterschrift.Text.Length > txtUnterschrift.MaxLength Then txtUnterschrift.Text = txtUnterschrift.Text.Substring(0, txtUnterschrift.MaxLength)
    End Sub


    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        fillWithKdTxt(txtEmpfänger)
    End Sub



    Function fillWithKdTxt(c As Control) As Boolean
        Dim f As New SDL.frmKundenSuche
        If f.ShowDialog = DialogResult.OK Then
            If f.kundenNrSearch.Text IsNot Nothing AndAlso f.kundenNrSearch.Text <> "" Then
                Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cAdressen(CInt(f.kundenNrSearch.Text))
                'MsgBox(f.kundenNrSearch.Text)
                c.Text = If(KUNDE.Name_1, "") & If(KUNDE.Name_2, "") & vbNewLine & If(KUNDE.Straße, "") & vbNewLine & If(KUNDE.LandKz, "") & " " & If(KUNDE.PLZ, "") & " " & If(KUNDE.Ort, "")
                Return True
            End If
        End If
        c.Focus()
        Return False
    End Function

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        fillWithKdTxt(txtAnmelder)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        fillWithKdTxt(txtVertreter)
    End Sub
End Class
