Imports GrapeCity.ActiveReports.ReportsCore.Tools
Imports Microsoft.Office.Core
Imports Org.BouncyCastle.Crypto.Agreement
Imports sun.security.pkcs10
Imports VERAG_PROG_ALLGEMEIN.MicCustExportComponents

Public Class usrCntlTCeZOLL_EZA_Allg
    Property EZA_ART = "EZA"

    Dim TEL_ANM As TELOTEC_Worker.cTelotec_Anmeldung = Nothing
    Public Event DV1_changed(DV1 As Boolean)

    Sub New(TEL_ANM As TELOTEC_Worker.cTelotec_Anmeldung)

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()
        Me.TEL_ANM = TEL_ANM
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

    End Sub


    Private Sub usrCntlATLAS_EZA_Load(sender As Object, e As EventArgs) Handles Me.Load
        'MySearchBox1.initSearchBox(Me.FindForm, "AdressenNr, [Name 1] FROM Adressen", {"[Name 1]", "Ort", "PLZ"}, "", "[Name 1]", "AdressenNr", "AdressenNr")

        'sbEingangZollstelleID.initSearchBox(Me.FindForm, "[basncd_dstnr] ,[basncd_dstnr] as Nr,[basncd_name] as Dienststelle,[basncd_alpha] as Land,[basncd_name] +' (' +[basncd_alpha]+')' as display FROM basncd", {" [basncd_dstnr]", "basncd_name"}, " [basncd_gbdat] >= getdate() ", " basncd_alpha,[basncd_name]", "basncd_dstnr", "display", "ATLAS", , 400, 200, {"display", "basncd_dstnr"})
        'sbAdrZollstelle.initSearchBox(Me.FindForm, "[basncd_dstnr] ,[basncd_dstnr] as Nr,[basncd_name] as Dienststelle,[basncd_alpha] as Land,[basncd_name] +' (' +[basncd_alpha]+')' as display FROM basncd", {" [basncd_dstnr]", "basncd_name"}, " [basncd_gbdat] >= getdate() AND basncd_dstnr LIKE 'DE00%' ", " basncd_alpha,[basncd_name]", "basncd_dstnr", "display", "ATLAS", , 400, 200, {"display", "basncd_dstnr"})
        txtRechnungspreisWaehrung.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land FROM tbl_DY_ZollDE_I0400_Waehrungsliste", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "Code", "FMZOLL", , 400, 200)




        cboVerkehrszweigInland.Items.Clear()
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("1 - Seeverkehr", "1"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("2 - Eisenbahnverkehr", "2"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("3 - Straßenverkehr", "3"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("4 - Luftverkehr", "4"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("5 - Postsendungen", "5"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("7 - Feste Transporteinrichtungen", "7"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("8 - Binnenschifffahrt", "8"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("9 - Eigener Antrieb", "9"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("10 - Seeverkehr", "10"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("12 - Waggon auf Seeschiff", "12"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("16 - Straßenfahrzeug auf Seeschiff", "16"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("17 - Anhänger/Auflieger auf Seeschiff", "17"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("18 - Binnenschiff auf Seeschiff", "18"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("20 - Eisenbahnverkehr", "20"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("23 - Straßenfahrzeug auf Eisenbahn", "23"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("30 - Straßenverkehr", "30"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("40 - Luftverkehr", "40"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("50 - Postsendungen", "50"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("70 - Feste Transporteinrichtungen", "70"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("80 - Binnenschifffahrt", "80"))
        cboVerkehrszweigInland.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("90 - Eigener Antrieb", "90"))
        cboVerkehrszweigInland.changeItem("3")



        cboGeschaeftsArt.Items.Clear()
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("A - Post- und Expresssendungen", "A"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E - Zugelassende Wirtschaftsbeteiligte", "E"))



        cboZahlungsweise.Items.Clear()
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("A - Barzahlung", "A"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("B - Barzahlung", "B"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("C - Scheck", "C"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("D - Andere (z.B. Abbuchung vom Konto eines Zollagenten)", "D"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E - Zahlungsaufschub", "E"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("F - Zahlungsaufschub für Zölle oder ein entsprechendes einzelstaatliches Verfahren", "F"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("G - Zahlungsaufschub für die Mehrwertsteuer (Art. 23 der sechsten Mehrwertsteuerrichtlinie) und unmittelbare buchmäßige Erfassung nach Art. 248 ZK-DVO", "G"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("L - SEPA-Lastschriftverfahren", "L"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("S - Sicherheitsleistung", "S"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Y - Barzahlung und unverzügliche Mitteilung der Zollschuld anstatt einer Sicherheitsleistung gemäß Art. 244 UZK-IA", "Y"))
        cboZahlungsweise.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Z - Zahlungsaufschub und unverzügliche Mitteilung der Zollschuld anstatt einer Sicherheitsleistung gemäß Art. 244 UZK-IA", "Z"))



        cboLieferbedingungen.Items.Clear()
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CFR - Kosten und Fracht", "CFR"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CIF - Kosten, Versicherung und Fracht", "CIF"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CIP - Fracht und Versicherung bezahlt bis", "CIP"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CPT - Fracht bezahlt bis", "CPT"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DAF - Frei Grenze", "DAF"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DAP - Geliefert benannter Ort", "DAP"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DAT - Geliefert Terminal", "DAT"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DDP - Geliefert verzollt", "DDP"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DDU - Geliefert unverzollt", "DDU"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DEQ - Geliefert ab Kai", "DEQ"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DES - Geliefert ab Schiff", "DES"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EXW - Ab Werk", "EXW"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FAS - Frei längsseits Schiff", "FAS"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FCA - Frei Frachtführer", "FCA"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FOB - Frei an Bord", "FOB"))
        cboLieferbedingungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("XXX - Andere Lieferbedingungen als vorstehend angegeben", "XXX"))
        cboLieferbedingungen.changeItem("")

        cboGeschaeftsArt.Items.Clear()
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("11 - Endgültiger Kauf/Verkauf", "11"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("12 - Ansichts- oder Probesendungen, Sendungen mit Rückgaberecht und Kommissionsgeschäfte (einschließlich Konsignationslager)", "12"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("13 - Kompensationsgeschäfte (Tauschhandel)", "13"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("14 - Finanzierungsleasing (Mietkauf)", "14"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("19 - Sonstige Geschäfte mit Eigentumsübertragung und mit Gegenleistung", "19"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("21 - Rücksendung von Waren", "21"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("22 - Ersatz für zurückgesandte Waren", "22"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("23 - Ersatz für nicht zurückgesandte Waren (z. B. wegen Garantie)", "23"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("29 - Sonstige Rücksendung und sonstige unentgeltliche Ersatzlieferung von Waren", "29"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("31 - Warenlieferungen im Rahmen von durch die Europäische Gemeinschaft ganz oder teilweise finanzierten Hilfsprogrammen", "31"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("32 - Andere Hilfslieferungen öffentlicher Stellen (z. B. militärische und humanitäre Hilfslieferungen Deutschlands)", "32"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("33 - Sonstige Hilfslieferungen (von privaten oder von nicht öffentlichen Stellen)", "33"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("34 - Sonstige Geschäfte mit Eigentumsübertragung, jedoch ohne Gegenleistung in Form von finanziellen Leistungen oder Sachleistungen", "34"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("41 - Warensendung zur Lohnveredelung, die voraussichtlich in das ursprüngliche Ausfuhrland zurückgelangen", "41"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("42 - Warensendung zur Lohnveredelung, die voraussichtlich nicht in das ursprüngliche Ausfuhrland zurückgelangen", "42"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("51 - Warensendung nach Lohnveredelung, die in das ursprüngliche Ausfuhrland zurückgelangen", "51"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("52 - Warensendung nach Lohnveredelung, die nicht in das ursprüngliche Ausfuhrland zurückgelangen", "52"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("67 - Warensendungen zur und nach Reparatur", "67"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("69 - Vorübergehende Warenverkehre (für nationale Zwecke); ausgenommen die unter Schlüsselnummer 41, 42, 51, 52 und 91 zu erfassenden Warensendungen - sonstige vorübergehende Warenverkehre bis einschließlich 24 Monaten", "69"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("71 - Für militärische Zwecke", "71"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("72 - für zivile Zwecke (z.B. Airbus, ausgenommen die unter Schlüsselnummer 11 bis 14 oder 19 zu erfassenden Warenbewegungen)", "72"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("81 - Geschäfte mit Lieferung von Baumaterial und technischen Ausrüstungen im Rahmen von Hoch- oder Tiefbauarbeiten als Teil eines Generalvertrags, bei denen keine einzelnen Waren in Rechnung gestellt werden, sondern eine einzige Rechnung den Gesamtwert der Waren erfasst.", "81"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("91 - Andere Geschäfte - vorübergehende Warenverkehre über 24 Monate (z.B. Miete, Leihe und Operate Leasing)", "91"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("92 - Lagerverkehr für ausländische Rechnung", "92"))
        cboGeschaeftsArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("99 - Andere Geschäfte - nicht anderweitig erfasst", "99"))
        cboGeschaeftsArt.changeItem("")


        cboLieferbedingungSchluessel.Items.Clear()
        cboLieferbedingungSchluessel.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
        cboLieferbedingungSchluessel.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("1 - ab Werk", "1"))
        cboLieferbedingungSchluessel.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("3 - frei deutsche Grenze", "3"))


        'btnAllgemein_Click(btnT2, New EventArgs)

        ' setValues(EZA)
    End Sub


    Public Sub getValues(ByRef EZA As TELOTEC_Worker.cTelotec_Anmeldung)

        'EZA.eza_AnmeldungArt = cProgramFunctions.isLeerNothing(cboArtVerfahrenUeberfuehrung._value)
        'EZA.eza_ZollrechtlicherStatus = cProgramFunctions.isLeerNothing(cboZollrStatus._value)
        'EZA.eza_Statistikstatus = cProgramFunctions.isLeerNothing(cboStatStatus._value)
        'EZA.eza_VerfahrenBeantragtCode = cProgramFunctions.isLeerNothing(cboVerfahren._value)



        'EZA.eza_DV1Kz = If(cbxDV1.Checked, True, Nothing)
        'EZA.eza_FiskalvertretungKz = If(cbxFiskalvertretung.Checked, True, Nothing)
        'EZA.eza_Eingangszollstelle = cProgramFunctions.isLeerNothing(sbEingangZollstelleID._value)
        'If sbAdrZollstelle._value.Length = 8 Then
        '    EZA.eza_AdressierteZollstelle = sbAdrZollstelle._value.Substring(4, 4)
        'End If

        'EZA.eza_VertretungsVerhaeltnisCode = cProgramFunctions.isLeerNothing(cboVertretungsart._value)


        'EZA.eza_VersendungsLandCode = cProgramFunctions.isLeerNothing(sbVersendungsLand._value)
        'EZA.eza_Bestimmungsland = cProgramFunctions.isLeerNothing(sbBestimmungsland._value)
        'EZA.eza_Bestimmungsbundesland = cProgramFunctions.isLeerNothing(sbBestimmungsBundesland._value)


        'EZA.eza_Warenort = cProgramFunctions.isLeerNothing(txtWarenort.Text)
        'EZA.eza_KennzeichenNameBefoerderungsmittelAnkunft = cProgramFunctions.isLeerNothing(txtKennzeichenInland._value)
        'EZA.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode = cProgramFunctions.isLeerNothing(sbKennzeichenInlandLand._value)
        'EZA.eza_BeförderungsmittelGrenzeArt = cProgramFunctions.isLeerNothing(cboArtGrenzUeberschreitung._value)
        'EZA.eza_VerkehrszweigInland = cProgramFunctions.isLeerNothing(cboVerkehrszweigInland._value)
        'EZA.eza_VerkehrszweigGrenze = cProgramFunctions.isLeerNothing(cboVerkehrszweigGrenze._value)
        'EZA.eza_Zahlungsart = cProgramFunctions.isLeerNothing(cboZahlungsweise._value)
        'EZA.eza_ArtGeschaeftCode = cProgramFunctions.isLeerNothing(cboGeschaeftsArt._value)

        'EZA.eza_Rechnungspreis = cProgramFunctions.isLeerNothingDbl(txtRechnungspreis._value)
        'EZA.eza_Rechnungswaehrung = cProgramFunctions.isLeerNothing(txtRechnungspreisWaehrung._value)

        'EZA.eza_LieferbedingungCode = cProgramFunctions.isLeerNothing(cboLieferbedingungen._value)
        'EZA.eza_LieferbedingungSchluessel = cProgramFunctions.isLeerNothing(cboLieferbedingungSchluessel._value)
        'EZA.eza_LieferbedingungOrt = cProgramFunctions.isLeerNothing(txtLieferbedingungort.Text)
        'EZA.eza_LieferbedingungText = cProgramFunctions.isLeerNothing(txtLieferbedingungText.Text)

        'EZA.eza_AnmelderistEmpfaenger = Nothing
        'EZA.eza_GesamtRohmasse = cProgramFunctions.isLeerNothingDbl(txtRohmasse.Text)

        'EZA.eza_ContainerNr1 = cProgramFunctions.isLeerNothing(txtContainerNr1.Text)
        'EZA.eza_ContainerNr2 = cProgramFunctions.isLeerNothing(txtContainerNr2.Text)
        'EZA.eza_ContainerNr3 = cProgramFunctions.isLeerNothing(txtContainerNr3.Text)

        'EZA.eza_SUMABA.Clear()
        'If cboVPArt._value <> "" Then
        '    EZA.eza_VorpapierArtCode = cProgramFunctions.isLeerNothing(cboVPArt._value)
        '    EZA.eza_VorpapierNr = cProgramFunctions.isLeerNothing(txtVPReferenz.Text)

        '    If txtVP_ATB1.Text <> "" Then
        '        Dim SUMA As New DAKOSY_Worker.cDakosy_EZA_SumABeendigungsAnteil()
        '        SUMA.ezaBa_SumARegistriernummer = txtVP_ATB1.Text
        '        SUMA.ezaBa_SumAPosNr = txtVP_ATBNr1.Text
        '        SUMA.ezaBa_BeendigungsPackstueckzahl = txtVP_ATBPk1.Text
        '        If EZA.eza_VorpapierArtCode = "ATNEU" Then SUMA.ezaBa_Artidentifikation = "REG"
        '        EZA.eza_SUMABA.Add(SUMA)
        '    End If
        '    If txtVP_ATB2.Text <> "" Then
        '        Dim SUMA As New DAKOSY_Worker.cDakosy_EZA_SumABeendigungsAnteil()
        '        SUMA.ezaBa_SumARegistriernummer = txtVP_ATB2.Text
        '        SUMA.ezaBa_SumAPosNr = txtVP_ATBNr2.Text
        '        SUMA.ezaBa_BeendigungsPackstueckzahl = txtVP_ATBPk2.Text
        '        If EZA.eza_VorpapierArtCode = "ATNEU" Then SUMA.ezaBa_Artidentifikation = "REG"
        '        EZA.eza_SUMABA.Add(SUMA)
        '    End If

        'Else
        '    EZA.eza_VorpapierArtCode = Nothing
        '    EZA.eza_VorpapierNr = Nothing
        'End If

        'Select Case cbxAnmelderIstEmpfänger.CheckState
        '    Case CheckState.Checked : EZA.eza_AnmelderistEmpfaenger = "J"
        '    Case CheckState.Unchecked : EZA.eza_AnmelderistEmpfaenger = "N"
        'End Select

        EZA.POSITIONSDATEN.Clear()
        Dim cnt = 1
        For Each row As DataGridViewRow In MyDatagridview1.Rows
            If row.Index - 1 = MyDatagridview1.Rows.Count - 1 Then Exit For
            Dim POS As New TELOTEC_Worker.cTelotec_Positionsdaten
            POS.Pos_ID = cnt
            cnt += 1
            POS.Item_ComCd = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnTarifnummer").Value)
            POS.Item_GdsDes = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnWarenbeschreibung").Value)
            POS.Item_Gross = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnRohmasse").Value)
            POS.Item_Net = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnEigenmasse").Value)
            POS.Item_ItVal = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnPreis").Value)
            POS.Item_Orig = SDL.cProgramFunctions.isLeerNothing(row.Cells("clmnOrigin").Value)

            'POS.PACKSTUECKE.Clear()
            'Dim PACK As New TELOTEC_Worker.cTelotec_Packstuecke
            'PACK.Pack_Kind = row.Cells("clmnPkArt").Value
            'PACK.Pack_Nr = row.Cells("clmnPackstuecke").Value
            'POS.PACKSTUECKE.Add(PACK)


            POS.MASSEINHEITEN.Clear()
            Dim SUPPL As New TELOTEC_Worker.cTelotec_PositionsdatenMasseinheiten
            SUPPL.SupplUnt_Unit = 110
            SUPPL.SupplUnt_SUQuant = row.Cells("clmnPackstuecke").Value
            POS.MASSEINHEITEN.Add(SUPPL)



            Dim PACK As New TELOTEC_Worker.cTelotec_Packstuecke
            PACK.Pack_Kind = row.Cells("clmnPkArt").Value
            PACK.Pack_Nr = row.Cells("clmnPackstuecke").Value
            POS.PACKSTUECKE.Add(PACK)

            POS.Item_Pref = If(txtPosPraeferenz._value <> "", txtPosPraeferenz._value, Nothing)
            POS.Item_ProcCd = If(txtPosVerfahrenscode._value <> "", txtPosVerfahrenscode._value, Nothing)


            POS.DOC_CERTS.Clear()
            For Each rowDoc As DataGridViewRow In MyDatagridview2.Rows
                If rowDoc.Index - 1 = MyDatagridview2.Rows.Count - 1 Then Exit For
                If rowDoc.Cells("clmnAnhart").Value <> "" Then

                    Dim DOC As New TELOTEC_Worker.cTelotec_PositionsdatenDokumente
                    DOC.DocCerts_DocCd = rowDoc.Cells("clmnAnhart").Value
                    DOC.DocCerts_DRef = rowDoc.Cells("clmnAnhReferenz").Value

                    If rowDoc.Cells("clmnAnhDatum").Value <> "" AndAlso IsDate(rowDoc.Cells("clmnAnhDatum").Value) Then
                        DOC.DocCerts_IssD = CDate(rowDoc.Cells("clmnAnhDatum").Value)
                    End If

                    POS.DOC_CERTS.Add(DOC)
                End If
            Next

            EZA.POSITIONSDATEN.Add(POS)
        Next


    End Sub


    Public Sub setPosValues(TEL_ANM As TELOTEC_Worker.cTelotec_Anmeldung)
        If TEL_ANM Is Nothing Then Exit Sub
        If TEL_ANM.POSITIONSDATEN Is Nothing Then Exit Sub
        MyDatagridview1.Rows.Clear()

        For Each POS In TEL_ANM.POSITIONSDATEN
            Dim Pk_Nr = ""
            Dim Pk_Kind = "PK"
            If POS.PACKSTUECKE IsNot Nothing AndAlso POS.PACKSTUECKE.Count > 0 Then
                Pk_Nr = If(POS.PACKSTUECKE(0).Pack_Nr, "")
                Pk_Kind = If(POS.PACKSTUECKE(0).Pack_Kind, "")
            End If
            MyDatagridview1.Rows.Add({POS.Item_Orig, POS.Item_ComCd, "", POS.Item_GdsDes, Pk_Nr, Pk_Kind, "", "", POS.Item_ItVal, "EUR"})
        Next

    End Sub
    Public Sub setValues(TEL_ANM As TELOTEC_Worker.cTelotec_Anmeldung)
        If TEL_ANM Is Nothing Then Exit Sub

        'cboArtVerfahrenUeberfuehrung.changeItem(If(EZA.eza_AnmeldungArt, ""))

        'cboZollrStatus.changeItem(If(EZA.eza_ZollrechtlicherStatus, ""))
        'cboStatStatus.changeItem(If(EZA.eza_Statistikstatus, ""))
        'cboVerfahren.changeItem(If(EZA.eza_VerfahrenBeantragtCode, ""))

        'cbxDV1.Checked = If(EZA.eza_DV1Kz, False)
        'cbxFiskalvertretung.Checked = If(EZA.eza_FiskalvertretungKz, False)

        'sbEingangZollstelleID.SET_VALUE(EZA.eza_Eingangszollstelle)
        'sbAdrZollstelle.SET_VALUE("DE00" & EZA.eza_AdressierteZollstelle)

        'cboVertretungsart.changeItem(If(EZA.eza_VertretungsVerhaeltnisCode, ""))

        'sbVersendungsLand.SET_VALUE(EZA.eza_VersendungsLandCode)
        'sbBestimmungsland.SET_VALUE(EZA.eza_Bestimmungsland)
        'sbBestimmungsBundesland.changeItem(EZA.eza_Bestimmungsbundesland)

        'txtWarenort.Text = If(EZA.eza_Warenort, "")
        'txtKennzeichenInland.Text = If(EZA.eza_KennzeichenNameBefoerderungsmittelAnkunft, "")
        'sbKennzeichenInlandLand.SET_VALUE(EZA.eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode)
        'cboArtGrenzUeberschreitung.changeItem(If(EZA.eza_BeförderungsmittelGrenzeArt, ""))
        'cboVerkehrszweigInland.changeItem(If(EZA.eza_VerkehrszweigInland, ""))
        'cboVerkehrszweigGrenze.changeItem(If(EZA.eza_VerkehrszweigGrenze, ""))

        'cboZahlungsweise.changeItem(If(EZA.eza_Zahlungsart, ""))
        'cboGeschaeftsArt.changeItem(If(EZA.eza_ArtGeschaeftCode, ""))

        'txtRechnungspreis._value = If(EZA.eza_Rechnungspreis, "")
        'txtRechnungspreisWaehrung.SET_VALUE(If(EZA.eza_Rechnungswaehrung, ""))

        'cboLieferbedingungen.changeItem(If(EZA.eza_LieferbedingungCode, ""))
        'cboLieferbedingungSchluessel.changeItem(If(EZA.eza_LieferbedingungSchluessel, ""))
        'txtLieferbedingungort.Text = If(EZA.eza_LieferbedingungOrt, "")
        'txtLieferbedingungText.Text = If(EZA.eza_LieferbedingungText, "")

        'txtRohmasse.Text = If(EZA.eza_GesamtRohmasse, "")


        'txtContainerNr1.Text = If(EZA.eza_ContainerNr1, "")
        'txtContainerNr2.Text = If(EZA.eza_ContainerNr2, "")
        'txtContainerNr3.Text = If(EZA.eza_ContainerNr3, "")

        'cbxAnmelderIstEmpfänger.CheckState = CheckState.Indeterminate
        'If EZA.eza_AnmelderistEmpfaenger IsNot Nothing Then
        '    Select Case EZA.eza_AnmelderistEmpfaenger
        '        Case "J" : cbxAnmelderIstEmpfänger.CheckState = CheckState.Checked
        '        Case "N" : cbxAnmelderIstEmpfänger.CheckState = CheckState.Unchecked
        '    End Select
        'End If

        'Select Case EZA_ART
        '    Case "EZA" : initButton(btnCo)
        '    Case "VZA" : initButton(btnEU)
        'End Select

        'cboVPArt.changeItem(If(EZA.eza_VorpapierArtCode, ""))
        'txtVPReferenz.Text = If(EZA.eza_VorpapierNr, "")

        'If EZA.eza_SUMABA IsNot Nothing Then
        '    If EZA.eza_SUMABA.Count > 0 Then
        '        txtVP_ATB1.Text = If(EZA.eza_SUMABA(0).ezaBa_SumARegistriernummer, "")
        '        txtVP_ATBNr1.Text = If(EZA.eza_SUMABA(0).ezaBa_SumAPosNr, "")
        '        txtVP_ATBPk1.Text = If(EZA.eza_SUMABA(0).ezaBa_BeendigungsPackstueckzahl, "")
        '    End If
        '    If EZA.eza_SUMABA.Count > 1 Then
        '        txtVP_ATB2.Text = If(EZA.eza_SUMABA(1).ezaBa_SumARegistriernummer, "")
        '        txtVP_ATBNr2.Text = If(EZA.eza_SUMABA(1).ezaBa_SumAPosNr, "")
        '        txtVP_ATBPk2.Text = If(EZA.eza_SUMABA(1).ezaBa_BeendigungsPackstueckzahl, "")
        '    End If
        'End If

    End Sub





    Sub setBtn(btn As Button, value As Boolean)
        If value Then
            btn.BackColor = Color.OrangeRed
            btn.ForeColor = Color.White
        Else
            btn.BackColor = Color.White
            btn.ForeColor = Color.Black
        End If

    End Sub





    'Private Sub sbVersendungsLand_TextChanged() Handles sbVersendungsLand.VALUE_CHANGED
    '    If sbVersendungsLand._value <> "" And txtWarenort.Text = "" Then
    '        txtWarenort.Text = sbVersendungsLand._value
    '    End If
    'End Sub


    Private Sub cboLieferbedingungen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboLieferbedingungen.SelectedIndexChanged
        If cboLieferbedingungen._value = "XXX" Then
            txtLieferbedingungText.Enabled = True
            txtLieferbedingungort.Enabled = False
        Else
            txtLieferbedingungText.Enabled = False
            txtLieferbedingungort.Enabled = True
        End If
    End Sub



    Private Sub txtEigenmasse_TextChanged() Handles txtEigenmasse.ValueChanged, txtRohmasse.ValueChanged
        Label36.Visible = False
        If IsNumeric(txtRohmasse._value) And IsNumeric(txtEigenmasse._value) Then
            If CDbl(txtRohmasse._value) < CDbl(txtEigenmasse._value) Then
                Label36.Visible = True
            End If
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Not IsNumeric(txtEigenmasse._value) Then Exit Sub
        If Not IsNumeric(txtRohmasse._value) Then Exit Sub

        Dim gesPreis As Double = 0
        For Each row As DataGridViewRow In MyDatagridview1.Rows
            If row.Cells("clmnPreis").Value IsNot Nothing AndAlso IsNumeric(row.Cells("clmnPreis").Value) Then
                gesPreis += CDbl(row.Cells("clmnPreis").Value)
            End If
        Next


        For Each row As DataGridViewRow In MyDatagridview1.Rows
            row.Cells("clmnEigenmasse").Value = CDbl(CDbl(row.Cells("clmnPreis").Value) * (CDbl(txtEigenmasse._value) / gesPreis)).ToString("N2")
            row.Cells("clmnRohmasse").Value = CDbl(CDbl(row.Cells("clmnPreis").Value) * (CDbl(txtRohmasse._value) / gesPreis)).ToString("N2")
        Next

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        MyDatagridview1.Columns("clmnTnrNf").Visible = True

        'Zuerste alle Tarifnummern für die Abfrage laden
        Dim comm As New List(Of String)
        For Each row As DataGridViewRow In MyDatagridview1.Rows
            comm.Add(row.Cells("clmnTarifnummer").Value)
        Next

        'Abfragen
        Dim tnr = VERAG_PROG_ALLGEMEIN.cATEZ_Tariff.GetTariffInfo(comm, "TR")


        If tnr IsNot Nothing Then
            'Jetzt jede Zeile durchlaufen und das Ergebnis eintragen 
            For Each row As DataGridViewRow In MyDatagridview1.Rows
                Dim found = False
                Dim result = tnr.Find(Function(x) x.code = row.Cells("clmnTarifnummer").Value)
                If result IsNot Nothing Then
                    If result.error <> "" Then
                        'Error bei der Abfrage der TNR
                        row.Cells("clmnTnrNf").Value = result.error
                    Else
                        'Bei einem Ergebnis -> Treffer
                        If result.mappings.Count = 1 Then
                            row.Cells("clmnTarifnummer").Value = result.mappings(0).commodity_code
                            found = True
                        Else
                            'Wenn mehrere Optinen -> User Auswahl
                            row.Cells("clmnTnrNf").Value = String.Join(",", result.mappings.OfType(Of VERAG_PROG_ALLGEMEIN.cATEZ_Tariff.cATEZ_TariffItem_Mapping)() _
                                    .Where(Function(x) x.commodity_code IsNot Nothing AndAlso x.commodity_code <> "") _
                                    .Select(Function(x) x.commodity_code))

                            found = True
                        End If
                    End If
                End If

                'Nicht gefudnen -> entsprechend zurückgegebn
                If Not found Then
                    row.Cells("clmnTnrNf").Value = row.Cells("clmnTarifnummer").Value
                    row.Cells("clmnTarifnummer").Value = ""
                End If
            Next

        End If


        'For Each row As DataGridViewRow In MyDatagridview1.Rows

        '    If row.Cells("clmnTarifnummer").Value <> "" Then
        '        Dim tnr = VERAG_PROG_ALLGEMEIN.cATEZ_Tariff.GetTariffInfo_SingleOrEmpty(row.Cells("clmnTarifnummer").Value)
        '        If tnr <> "" Then
        '            row.Cells("clmnTarifnummer").Value = tnr
        '        Else
        '            row.Cells("clmnTnrNf").Value = row.Cells("clmnTarifnummer").Value
        '            row.Cells("clmnTarifnummer").Value = ""
        '        End If
        '    End If
        '    lnlTnrCnt.Text = (row.Index + 1) & "/" & MyDatagridview1.RowCount
        '    Me.Refresh()
        'Next
    End Sub
End Class
