Imports System.Data.SqlClient
Imports System.Reflection

Public Class cDakosyAES

    Property aes_Id As Integer
    Property aes_Status As Object = DAKOSY_Worker.cDY_Statusliste.S_00
    Property aes_Status_KEWILL_Equivalent As Object = DAKOSY_Worker.cDY_Statusliste.S_00
    Property aes_dyaArt As String = ""
    Property aes_dyaAnmID As Integer
    Property aes_ANR As Object = Nothing
    Property aes_MRN As Object = Nothing
    Property aes_Erstellung As Date = Now
    Property aes_Erstellung_SB As Object = Nothing
    Property aes_LetzteBearbeitung As Date = Now
    Property aes_LetzteBearbeitung_SB As Object = Nothing 
    Property aes_Trans_Partner As Object = Nothing
    Property aes_Trans_Div1 As Object = Nothing
    Property aes_Trans_Div2 As Object = Nothing
    Property aes_Trans_Div3 As Object = Nothing
    Property aes_Trans_Referenz As Object = Nothing
    Property aes_Trans_DatumZeit As Object = Nothing
    Property aes_Trans_Version As Object = Nothing
    Property aes_NachrichtenSenderTIN As Object = Nothing
    Property aes_NachrichtenSenderNLNR As Object = Nothing
    Property aes_NachrichtenempfaengerDST As Object = Nothing

    Property aes_firma As Object = Nothing
    Property aes_niederlassung As Object = Nothing



    Property aes_ObjectName As Object = Nothing
    Property aes_ObjectAlias As Object = Nothing 
    Property aes_BezugsnummerVorblendung As Object = Nothing
    Property aes_Bearbeiter As Object = Nothing
    Property aes_AnmeldeArtAusfuhrCode As Object = Nothing
    Property aes_AnmeldeArtVerfahrensCode As Object = Nothing
    Property aes_AnmeldeArtUeberfuehrungCode As Object = Nothing
    Property aes_Ausfuhrland As Object = Nothing
    Property aes_BestimmungslandCode As Object = Nothing
    Property aes_AnmeldedatumZeit As Object = Nothing
    Property aes_DatumAusgang As Object = Nothing
    Property aes_MassgeblichesDatum As Object = Nothing
    Property aes_BesondereUmstaende As Object = Nothing
    Property aes_Zahlungsweisebefoerderungskosten As Object = Nothing
    Property aes_ContainerIndikator As Object = Nothing
    Property aes_BeteiligteKonstellation As Object = Nothing
    Property aes_AdressdatenKonstellation As Object = Nothing
    Property aes_GesamtRohmasse As Object = Nothing
    Property aes_RegistriernummerFremdsystem As Object = Nothing
    Property aes_Vermerk As Object = Nothing
    Property aes_KennnummerSendung As Object = Nothing
    Property aes_AnzahlPositionen As Object = Nothing
    Property aes_BewiligungsnummerAusfuhr As Object = Nothing
    Property aes_BewiligungsnummerAnschreibeverfahren As Object = Nothing
    Property aes_BewiligungsnummerPassiveVeredelung As Object = Nothing
    Property aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer As Object = Nothing
    Property aes_VerkehrszweigInland As Object = Nothing
    Property aes_BefoerderungsmittelAbgangArtCode As Object = Nothing
    Property aes_BefoerderungsmittelAbgangKennzeichen As Object = Nothing
    Property aes_BefoerderungsmittelAbgangStaatCode As Object = Nothing
    Property aes_VerkehrszweigGrenze As Object = Nothing
    Property aes_BefoerderungsmittelGrenzeArtCode As Object = Nothing
    Property aes_BefoerderungsmittelGrenzeKennzeichen As Object = Nothing
    Property aes_BefoerderungsmittelGrenzeStaatCode As Object = Nothing
    Property aes_LadeortOrtId As Object = Nothing
    Property aes_LadeortStrasse As Object = Nothing
    Property aes_LadeortPLZ As Object = Nothing
    Property aes_LadeortOrt As Object = Nothing
    Property aes_LadeortZusatz As Object = Nothing
    Property aes_AusfuhrZollstelleID As Object = Nothing
    Property aes_AusgangszollstelleID As Object = Nothing
    Property aes_TatsaechlicheAusgangZollstelleID As Object = Nothing
    Property aes_GeschaeftartCode As Object = Nothing
    Property aes_Rechnungspreis As Object = Nothing
    Property aes_Rechnungwaehrung As Object = Nothing
    Property aes_BesondererTatbestand As Object = Nothing
    Property aes_VerschlussArtCode As Object = Nothing
    Property aes_VerschlussAnzahl As Object = Nothing
    Property aes_VerschlussZeichen1 As Object = Nothing
    Property aes_VerschlussZeichen2 As Object = Nothing
    Property aes_VerschlussZeichen3 As Object = Nothing
    Property aes_VerschlussZeichen4 As Object = Nothing
    Property aes_VerschlussZeichen5 As Object = Nothing
    Property aes_VerschlussZeichen6 As Object = Nothing
    Property aes_VerschlussZeichen7 As Object = Nothing
    Property aes_VerschlussZeichen8 As Object = Nothing
    Property aes_VerschlussZeichen9 As Object = Nothing
    Property aes_VerschlussZeichen10 As Object = Nothing
    Property aes_VerschlussZeichen11 As Object = Nothing
    Property aes_VerschlussZeichen12 As Object = Nothing
    Property aes_GestellungsfristAnfangDatumZeit As Object = Nothing
    Property aes_GestellungsfristEndeDatumZeit As Object = Nothing
    Property aes_AusfuehrerTeilnehmerEORI As Object = Nothing
    Property aes_AusfuehrerTeilnehmerNLNR As Object = Nothing
    Property aes_AusfuehrerTeilnehmerName As Object = Nothing
    Property aes_AusfuehrerTeilnehmerStrasse As Object = Nothing
    Property aes_AusfuehrerTeilnehmerOrt As Object = Nothing
    Property aes_AusfuehrerTeilnehmerPLZ As Object = Nothing
    Property aes_AusfuehrerTeilnehmerLandCode As Object = Nothing
    Property aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter As Object = Nothing
    Property aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer As Object = Nothing
    Property aes_AusfuehrerTeilnehmerAnsprechpartnerStellung As Object = Nothing
    Property aes_AusfuehrerTeilnehmerAnsprechpartnerEmail As Object = Nothing
    Property aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax As Object = Nothing
    Property aes_EmpfaengerTeilnehmerEORI As Object = Nothing
    Property aes_EmpfaengerTeilnehmerNLNR As Object = Nothing
    Property aes_EmpfaengerTeilnehmerName As Object = Nothing
    Property aes_EmpfaengerTeilnehmerStrasse As Object = Nothing
    Property aes_EmpfaengerTeilnehmerOrt As Object = Nothing
    Property aes_EmpfaengerTeilnehmerPLZ As Object = Nothing
    Property aes_EmpfaengerTeilnehmerLandCode As Object = Nothing
    Property aes_AnmelderTeilnehmerEORI As Object = Nothing
    Property aes_AnmelderTeilnehmerNLNR As Object = Nothing
    Property aes_AnmelderTeilnehmerName As Object = Nothing
    Property aes_AnmelderTeilnehmerStrasse As Object = Nothing
    Property aes_AnmelderTeilnehmerOrt As Object = Nothing
    Property aes_AnmelderTeilnehmerPLZ As Object = Nothing
    Property aes_AnmelderTeilnehmerLandCode As Object = Nothing
    Property aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter As Object = Nothing
    Property aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer As Object = Nothing
    Property aes_AnmelderTeilnehmerAnsprechpartnerStellung As Object = Nothing
    Property aes_AnmelderTeilnehmerAnsprechpartnerEmail As Object = Nothing
    Property aes_AnmelderTeilnehmerAnsprechpartnerTelefax As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerEORI As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerNLNR As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerName As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerStrasse As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerOrt As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerPLZ As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerLandCode As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail As Object = Nothing
    Property aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax As Object = Nothing
    Property aes_SubunternehmerTeilnehmerEORI As Object = Nothing
    Property aes_SubunternehmerTeilnehmerNLNR As Object = Nothing
    Property aes_SubunternehmerTeilnehmerName As Object = Nothing
    Property aes_SubunternehmerTeilnehmerStrasse As Object = Nothing
    Property aes_SubunternehmerTeilnehmerOrt As Object = Nothing
    Property aes_SubunternehmerTeilnehmerPLZ As Object = Nothing
    Property aes_SubunternehmerTeilnehmerLandCode As Object = Nothing
    Property aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter As Object = Nothing
    Property aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer As Object = Nothing
    Property aes_SubunternehmerTeilnehmerAnsprechpartnerStellung As Object = Nothing
    Property aes_SubunternehmerTeilnehmerAnsprechpartnerEmail As Object = Nothing
    Property aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerEORI As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerNLNR As Object = Nothing

    Property aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail As Object = Nothing
    Property aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax As Object = Nothing
    Property aes_BefoerderungsrouteLand1 As Object = Nothing
    Property aes_BefoerderungsrouteLand2 As Object = Nothing
    Property aes_BefoerderungsrouteLand3 As Object = Nothing
    Property aes_BefoerderungsrouteLand4 As Object = Nothing
    Property aes_BefoerderungsrouteLand5 As Object = Nothing
    Property aes_BefoerderungsrouteLand6 As Object = Nothing
    Property aes_BefoerderungsrouteLand7 As Object = Nothing
    Property aes_BefoerderungsrouteLand8 As Object = Nothing
    Property aes_BefoerderungsrouteLand9 As Object = Nothing
    Property aes_BefoerderungsrouteLand10 As Object = Nothing
    Property aes_BefoerderungsrouteLand11 As Object = Nothing
    Property aes_BefoerderungsrouteLand12 As Object = Nothing

    Property aes_LieferbedingungenCode As Object = Nothing
    Property aes_LieferbedingungenText As Object = Nothing
    Property aes_LieferbedingungenOrt As Object = Nothing

    Property aes_WARENPOS As New List(Of cDakosy_AES_Warenposition)


    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL


    Sub New()

    End Sub

    Sub New(aes_dyaAnmID As Integer, aes_Erstellung_SB As Integer)
        Me.aes_dyaAnmID = aes_dyaAnmID
        Me.aes_Erstellung_SB = aes_Erstellung_SB
        Me.aes_LetzteBearbeitung_SB = aes_Erstellung_SB
    End Sub

    Sub New(aes_Id)
        Me.aes_Id = aes_Id
        LOAD()
    End Sub

    Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Id", aes_Id, , True, True))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Status", aes_Status))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Status_KEWILL_Equivalent", aes_Status_KEWILL_Equivalent))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_dyaArt", aes_dyaArt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_dyaAnmID", aes_dyaAnmID))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_ANR", aes_ANR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_MRN", aes_MRN))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Erstellung", aes_Erstellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Erstellung_SB", aes_Erstellung_SB))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LetzteBearbeitung", aes_LetzteBearbeitung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LetzteBearbeitung_SB", aes_LetzteBearbeitung_SB))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_firma", aes_firma))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_niederlassung", aes_niederlassung))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Partner", aes_Trans_Partner))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Div1", aes_Trans_Div1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Div2", aes_Trans_Div2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Div3", aes_Trans_Div3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Referenz", aes_Trans_Referenz))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_DatumZeit", aes_Trans_DatumZeit))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Trans_Version", aes_Trans_Version))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_NachrichtenSenderTIN", aes_NachrichtenSenderTIN))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_NachrichtenSenderNLNR", aes_NachrichtenSenderNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_NachrichtenempfaengerDST", aes_NachrichtenempfaengerDST))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_ObjectName", aes_ObjectName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_ObjectAlias", aes_ObjectAlias))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BezugsnummerVorblendung", aes_BezugsnummerVorblendung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Bearbeiter", aes_Bearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmeldeArtAusfuhrCode", aes_AnmeldeArtAusfuhrCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmeldeArtVerfahrensCode", aes_AnmeldeArtVerfahrensCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmeldeArtUeberfuehrungCode", aes_AnmeldeArtUeberfuehrungCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Ausfuhrland", aes_Ausfuhrland))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BestimmungslandCode", aes_BestimmungslandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmeldedatumZeit", aes_AnmeldedatumZeit))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_DatumAusgang", aes_DatumAusgang))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_MassgeblichesDatum", aes_MassgeblichesDatum))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BesondereUmstaende", aes_BesondereUmstaende))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Zahlungsweisebefoerderungskosten", aes_Zahlungsweisebefoerderungskosten))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_ContainerIndikator", aes_ContainerIndikator))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BeteiligteKonstellation", aes_BeteiligteKonstellation))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AdressdatenKonstellation", aes_AdressdatenKonstellation))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_GesamtRohmasse", aes_GesamtRohmasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_RegistriernummerFremdsystem", aes_RegistriernummerFremdsystem))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Vermerk", aes_Vermerk))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_KennnummerSendung", aes_KennnummerSendung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnzahlPositionen", aes_AnzahlPositionen))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BewiligungsnummerAusfuhr", aes_BewiligungsnummerAusfuhr))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BewiligungsnummerAnschreibeverfahren", aes_BewiligungsnummerAnschreibeverfahren))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BewiligungsnummerPassiveVeredelung", aes_BewiligungsnummerPassiveVeredelung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer", aes_BewiligungsnummerVertrausenswuerdigerAusfuehrer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerkehrszweigInland", aes_VerkehrszweigInland))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelAbgangArtCode", aes_BefoerderungsmittelAbgangArtCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelAbgangKennzeichen", aes_BefoerderungsmittelAbgangKennzeichen))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelAbgangStaatCode", aes_BefoerderungsmittelAbgangStaatCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerkehrszweigGrenze", aes_VerkehrszweigGrenze))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelGrenzeArtCode", aes_BefoerderungsmittelGrenzeArtCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelGrenzeKennzeichen", aes_BefoerderungsmittelGrenzeKennzeichen))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsmittelGrenzeStaatCode", aes_BefoerderungsmittelGrenzeStaatCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LadeortOrtId", aes_LadeortOrtId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LadeortStrasse", aes_LadeortStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LadeortPLZ", aes_LadeortPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LadeortOrt", aes_LadeortOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LadeortZusatz", aes_LadeortZusatz))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuhrZollstelleID", aes_AusfuhrZollstelleID))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusgangszollstelleID", aes_AusgangszollstelleID))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_TatsaechlicheAusgangZollstelleID", aes_TatsaechlicheAusgangZollstelleID))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_GeschaeftartCode", aes_GeschaeftartCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Rechnungspreis", aes_Rechnungspreis))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Rechnungwaehrung", aes_Rechnungwaehrung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BesondererTatbestand", aes_BesondererTatbestand))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussArtCode", aes_VerschlussArtCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussAnzahl", aes_VerschlussAnzahl))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen1", aes_VerschlussZeichen1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen2", aes_VerschlussZeichen2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen3", aes_VerschlussZeichen3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen4", aes_VerschlussZeichen4))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen5", aes_VerschlussZeichen5))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen6", aes_VerschlussZeichen6))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen7", aes_VerschlussZeichen7))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen8", aes_VerschlussZeichen8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen9", aes_VerschlussZeichen9))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen10", aes_VerschlussZeichen10))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen11", aes_VerschlussZeichen11))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerschlussZeichen12", aes_VerschlussZeichen12))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_GestellungsfristAnfangDatumZeit", aes_GestellungsfristAnfangDatumZeit))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_GestellungsfristEndeDatumZeit", aes_GestellungsfristEndeDatumZeit))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerEORI", aes_AusfuehrerTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerNLNR", aes_AusfuehrerTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerName", aes_AusfuehrerTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerStrasse", aes_AusfuehrerTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerOrt", aes_AusfuehrerTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerPLZ", aes_AusfuehrerTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerLandCode", aes_AusfuehrerTeilnehmerLandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter", aes_AusfuehrerTeilnehmerAnsprechpartnerSachbearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer", aes_AusfuehrerTeilnehmerAnsprechpartnerTelefonnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerAnsprechpartnerStellung", aes_AusfuehrerTeilnehmerAnsprechpartnerStellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerAnsprechpartnerEmail", aes_AusfuehrerTeilnehmerAnsprechpartnerEmail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax", aes_AusfuehrerTeilnehmerAnsprechpartnerTelefax))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerEORI", aes_EmpfaengerTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerNLNR", aes_EmpfaengerTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerName", aes_EmpfaengerTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerStrasse", aes_EmpfaengerTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerOrt", aes_EmpfaengerTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerPLZ", aes_EmpfaengerTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_EmpfaengerTeilnehmerLandCode", aes_EmpfaengerTeilnehmerLandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerEORI", aes_AnmelderTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerNLNR", aes_AnmelderTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerName", aes_AnmelderTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerStrasse", aes_AnmelderTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerOrt", aes_AnmelderTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerPLZ", aes_AnmelderTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerLandCode", aes_AnmelderTeilnehmerLandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter", aes_AnmelderTeilnehmerAnsprechpartnerSachbearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer", aes_AnmelderTeilnehmerAnsprechpartnerTelefonnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerAnsprechpartnerStellung", aes_AnmelderTeilnehmerAnsprechpartnerStellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerAnsprechpartnerEmail", aes_AnmelderTeilnehmerAnsprechpartnerEmail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_AnmelderTeilnehmerAnsprechpartnerTelefax", aes_AnmelderTeilnehmerAnsprechpartnerTelefax))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerEORI", aes_VertreterAnmelderTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerNLNR", aes_VertreterAnmelderTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerName", aes_VertreterAnmelderTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerStrasse", aes_VertreterAnmelderTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerOrt", aes_VertreterAnmelderTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerPLZ", aes_VertreterAnmelderTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerLandCode", aes_VertreterAnmelderTeilnehmerLandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter", aes_VertreterAnmelderTeilnehmerAnsprechpartnerSachbearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer", aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefonnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung", aes_VertreterAnmelderTeilnehmerAnsprechpartnerStellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail", aes_VertreterAnmelderTeilnehmerAnsprechpartnerEmail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax", aes_VertreterAnmelderTeilnehmerAnsprechpartnerTelefax))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerEORI", aes_SubunternehmerTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerNLNR", aes_SubunternehmerTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerName", aes_SubunternehmerTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerStrasse", aes_SubunternehmerTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerOrt", aes_SubunternehmerTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerPLZ", aes_SubunternehmerTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerLandCode", aes_SubunternehmerTeilnehmerLandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter", aes_SubunternehmerTeilnehmerAnsprechpartnerSachbearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer", aes_SubunternehmerTeilnehmerAnsprechpartnerTelefonnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerAnsprechpartnerStellung", aes_SubunternehmerTeilnehmerAnsprechpartnerStellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerAnsprechpartnerEmail", aes_SubunternehmerTeilnehmerAnsprechpartnerEmail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax", aes_SubunternehmerTeilnehmerAnsprechpartnerTelefax))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerEORI", aes_VerfahrensinhaberPVTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerNLNR", aes_VerfahrensinhaberPVTeilnehmerNLNR)) 
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter", aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerSachbearbeiter))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer", aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefonnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung", aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerStellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail", aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerEmail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax", aes_VerfahrensinhaberPVTeilnehmerAnsprechpartnerTelefax))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand1", aes_BefoerderungsrouteLand1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand2", aes_BefoerderungsrouteLand2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand3", aes_BefoerderungsrouteLand3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand4", aes_BefoerderungsrouteLand4))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand5", aes_BefoerderungsrouteLand5))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand6", aes_BefoerderungsrouteLand6))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand7", aes_BefoerderungsrouteLand7))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand8", aes_BefoerderungsrouteLand8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand9", aes_BefoerderungsrouteLand9))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand10", aes_BefoerderungsrouteLand10))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand11", aes_BefoerderungsrouteLand11))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_BefoerderungsrouteLand12", aes_BefoerderungsrouteLand12))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LieferbedingungenCode", aes_LieferbedingungenCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LieferbedingungenText", aes_LieferbedingungenText))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_LieferbedingungenOrt", aes_LieferbedingungenOrt))

        Return list
    End Function

    Public Function UPDATE_STATUS(status) As Boolean
        Me.aes_Status = status
        Return Me.SAVE
    End Function

    Public Function SAVE() As Boolean
        Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()

        Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblDakosy_AES WITH(updlock,serializable) WHERE aes_Id=@aes_Id) " &
                       " BEGIN " & getUpdateCmd() & " END " &
                       " Else " &
                       " BEGIN " & getInsertCmd() & " END " &
                       " commit tran "

        aes_Id = SQL.doSQLVarListID(aes_Id, sqlstr, "FMZOLL", , list)
        Return aes_Id > 0
    End Function

    Public Function SAVE_ALL() As Boolean
        If Not SAVE() Then Return False
        If Not SAVE_Warenposition() Then Return False
        Return True
    End Function

    Public Function LOAD(Optional loadALL As Boolean = True) As Boolean
        Try
            LOAD = False
            If loadALL Then
                aes_WARENPOS.Clear()
            End If
            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT * FROM tblDakosy_AES WHERE aes_Id=@aes_Id  ", conn)
                    cmd.Parameters.AddWithValue("@aes_Id", aes_Id)
                    Dim dr = cmd.ExecuteReader()
                    If dr.Read Then
                        For Each l In getParameterList()
                            Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)

                            If dr.Item(l.Text) Is DBNull.Value Then
                                propInfo.SetValue(Me, Nothing)
                            Else
                                propInfo.SetValue(Me, dr.Item(l.Text))
                            End If

                        Next
                        If loadALL Then
                            LOAD_Warenposition()
                        End If
                        LOAD = True
                    End If
                    dr.Close()

                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return LOAD
    End Function


    Shared Function LOADByAnmIDFull(aes_dyaAnmID As String, loadALL As Boolean) As cDakosyAES
        Try
            Dim AES As New cDakosyAES
            Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_AES WHERE aes_dyaAnmID=@aes_dyaAnmID  ", conn)
                    cmd.Parameters.AddWithValue("@aes_dyaAnmID", aes_dyaAnmID)
                    Dim dr = cmd.ExecuteReader()
                    If dr.Read Then
                        For Each l In AES.getParameterList()
                            Dim propInfo As PropertyInfo = AES.GetType.GetProperty(l.Scalarvariable)

                            If dr.Item(l.Text) Is DBNull.Value Then
                                propInfo.SetValue(AES, Nothing)
                            Else
                                propInfo.SetValue(AES, dr.Item(l.Text))
                            End If

                        Next
                        If loadALL Then
                            AES.LOAD_Warenposition()
                        End If

                        dr.Close()
                        Return AES
                    End If
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return Nothing
    End Function


    Public Function LOADByAnmID(aes_dyaAnmID As String, loadALL As Boolean) As Boolean
        Try
            LOADByAnmID = False
            If loadALL Then
                aes_WARENPOS.Clear()
            End If
            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_AES WHERE aes_dyaAnmID=@aes_dyaAnmID  ", conn)
                    cmd.Parameters.AddWithValue("@aes_dyaAnmID", aes_dyaAnmID)
                    Dim dr = cmd.ExecuteReader()
                    If dr.Read Then
                        For Each l In getParameterList()
                            Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)

                            If dr.Item(l.Text) Is DBNull.Value Then
                                propInfo.SetValue(Me, Nothing)
                            Else
                                propInfo.SetValue(Me, dr.Item(l.Text))
                            End If

                        Next
                        If loadALL Then
                            LOAD_Warenposition()
                        End If
                        LOADByAnmID = True
                    End If
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return LOADByAnmID
    End Function
    Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean) As cDakosyAES
        Try
            Dim AES As New cDakosyAES
            Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_AES WHERE aes_ObjectName=@bezugsNr  ", conn)
                    cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
                    Dim dr = cmd.ExecuteReader()
                    If dr.Read Then
                        For Each l In AES.getParameterList()
                            Dim propInfo As PropertyInfo = AES.GetType.GetProperty(l.Scalarvariable)

                            If dr.Item(l.Text) Is DBNull.Value Then
                                propInfo.SetValue(AES, Nothing)
                            Else
                                propInfo.SetValue(AES, dr.Item(l.Text))
                            End If

                        Next
                        If loadALL Then
                            AES.LOAD_Warenposition()
                        End If

                        dr.Close()
                        Return AES
                    End If
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return Nothing
    End Function


    Public Function UPDATE_Status(status As Integer) As String
        If aes_Id > 0 Then
            Try
                Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
                list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Id", aes_Id, , True))
                list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aes_Status", status, , True))
                aes_Status = status

                Return SQL.doSQLVarList(" UPDATE [tblDakosy_AES] SET aes_Status=@aes_Status WHERE aes_Id=@aes_Id ", "FMZOLL", , list)

            Catch ex As Exception
                MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
            End Try
        End If
        Return ""
    End Function


    Public Function getUpdateCmd() As String
        Try
            Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()

            Dim str As String = ""
            For Each i In list
                If Not i.isPrimaryParam Then
                    str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
                End If
            Next
            str = str.Substring(0, str.Length - 1) 'wg. ','
            Return (" UPDATE [tblDakosy_AES] SET " & str & " WHERE aes_Id=@aes_Id ")

        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return ""
    End Function


    Public Function getInsertCmd() As String
        Try
            Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
            Dim str As String = ""
            Dim values As String = ""
            For Each i In list
                If Not i.isPrimaryParam Then
                    str &= "[" & i.Text & "],"
                    values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
                End If
            Next
            str = str.Substring(0, str.Length - 1) 'wg. ','
            values = values.Substring(0, values.Length - 1) 'wg. ','
            Return (" INSERT INTO tblDakosy_AES  (" & str & ") VALUES(" & values & ")  ")
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return ""
    End Function


    Public Sub LOAD_Warenposition()
        Try
            aes_WARENPOS.Clear()
            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT * FROM tblDakosy_AES_Warenposition WHERE aesWP_aesId=@aes_Id  ", conn)
                    cmd.Parameters.AddWithValue("@aes_Id", Me.aes_Id)
                    Dim dr = cmd.ExecuteReader()
                    While dr.Read
                        Dim l As New cDakosy_AES_Warenposition()
                        For Each i In l.getParameterList()
                            Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
                            If dr.Item(i.Text) Is DBNull.Value Then
                                propInfo.SetValue(l, Nothing)
                            Else
                                propInfo.SetValue(l, dr.Item(i.Text))
                            End If
                        Next
                        l.LOAD_WarenpositionPackstuecke()
                        l.LOAD_WarenpositionUnterlagen()
                        aes_WARENPOS.Add(l)
                    End While
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
    End Sub

    Function DELETE_Warenpositionen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
        Dim sqlstr = " DELETE FROM [tblDakosy_AES_Warenposition] WHERE aesWP_aesId=" & Me.aes_Id & " "
        Return SQL.doSQL(sqlstr, "FMZOLL")
    End Function

    Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
        Dim sqlstr = " DELETE FROM [tblDakosy_AES_WarenpositionPackstuecke] WHERE aesWpPk_aesId=" & Me.aes_Id & " "
        Return SQL.doSQL(sqlstr, "FMZOLL")
    End Function

    Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
        Dim sqlstr = " DELETE FROM [tblDakosy_AES_WarenpositionUnterlagen] WHERE aesWpUl_aesId =" & Me.aes_Id & " "
        Return SQL.doSQL(sqlstr, "FMZOLL")
    End Function

    Public Function SAVE_Warenposition() As Boolean
        'Zuserst alle OffertenPos von dem Offert löschen
        If DELETE_Warenpositionen() And DELETE_WarenpositionPackstuecke() And DELETE_WarenpositionUnterlagen() Then
            'jetzt die Standartofferten  einfügen
            For Each p In aes_WARENPOS
                p.aesWP_AESId = aes_Id
                If p.INSERT() Then
                    p.INSERT_WarenpositionPackstuecke(p.aesWP_Id, Me.aes_Id)
                    p.INSERT_WarenpositionUnterlagen(p.aesWP_Id, Me.aes_Id)
                Else
                    Return False
                End If
            Next
        Else
            Return False
        End If

        Return True
    End Function



    Function countSpedbuchEntrys(filiale, AES) As Integer
        If If(AES, "") = "" Then Return 0
        Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrAES='" & AES & "'", "FMZOLL")
    End Function

    Function insertIntoSpedBuch(DY As cDakosy_Zollanmeldungen) As Boolean
        Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
        Dim cZOLL_IMPORT As New cZOLL_IMPORT

        Dim firmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
        VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = If(If(Me.aes_firma, "") <> "", Me.aes_firma, "VERAG")
        If DY.dy_SendungsId IsNot Nothing Then
            'Filiale erkennen:
            Dim filialeBez = ""
            Dim filiale = cDakosyEZA.getFiliale(Me.aes_ObjectName, filialeBez)
            Dim abfertigungsnummer = cDakosyEZA.getAbfertigungsnummer(Me.aes_ObjectName)

            If abfertigungsnummer = "" Then
                cDakosyEZA.getFilialeAbfertigungsnummerFromSendung(filiale, abfertigungsnummer, DY.dy_SendungsId)
            End If

            If filiale <> "" And abfertigungsnummer <> "" Then
                If cDakosyEZA.countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) = 0 Then
                    '  VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA ", "" & Me.aes_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "")
                    SPEDBUCH.FilialenNr = filiale
                    SPEDBUCH.AbfertigungsNr = abfertigungsnummer
                    SPEDBUCH.NewUNTER_NR()

                    SPEDBUCH.Abfertigungsart = "7"
                    SPEDBUCH.Abfertigungsanzahl = 1
                    SPEDBUCH.Fakturiert = 0
                    SPEDBUCH.AtlasBezNrAES = Me.aes_ObjectName
                    SPEDBUCH.Zollsystem = "D"
                    SPEDBUCH.Sachbearbeiter = "AUTO"

                    SPEDBUCH.AvisoID = DY.dy_AvisoId
                    SPEDBUCH.SendungID = DY.dy_SendungsId

                    Dim ZOLL_IMPORT As New cZOLL_IMPORT
                    Dim notfound = False
                    Dim posAnzahl = 0
                    SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, DY.dy_AvisoId, DY.dy_SendungsId, "VERA", filialeBez, 2, "", "", notfound, True,, Me.aes_ObjectName)

                    If notfound Then Return False
                    '   VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA !!", "" & Me.aes_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "")

                    ' MsgBox(SPEDBUCH.FilialenNr & " - " & SPEDBUCH.AbfertigungsNr)
                    VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firmaTmp

                    If SPEDBUCH.SAVE Then
                        VERAG_PROG_ALLGEMEIN.cSendungen.SET_SpedbuchEntry(DY.dy_SendungsId, True)
                        Return True
                    Else
                        Return False
                    End If


                    '  MsgBox(SQL.getValueTxtBySql("select count(*)                         FROM [VERAG].[dbo].[Speditionsbuch]                        where AbfertigungsNr = 18035380", "FMZOLL"))

                End If
            End If
        Else
            Return False 'Ohne Sendungsverweis kein eintrag...
        End If
        Return False

    End Function


    'Function insertIntoSpedBuch(DY As cDakosy_Zollanmeldungen) As Boolean
    '    Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
    '    If If(Me.aes_firma, "") = "IMEX" Then
    '        If countSpedbuchEntrys(5501, Me.AES_ObjectName) = 0 Then
    '            SPEDBUCH.FilialenNr = 5501
    '            SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
    '            SPEDBUCH.NewUNTER_NR()

    '            SPEDBUCH.AtlasBezNrNCTS = Me.aes_ObjectName
    '            SPEDBUCH.Zollsystem = "D"

    '            Dim notfound = False
    '            DakosyAESDatenbereitstellung(SPEDBUCH, Me.AES_ObjectName, notfound)

    '            If Not notfound Then
    '                Return SPEDBUCH.SAVE
    '            Else
    '                Return False
    '            End If
    '        End If

    '        If DY.dy_SendungsId IsNot Nothing Then

    '        Else
    '            Return False 'Ohne Sendungsverweis kein eintrag...
    '        End If

    '        Return SPEDBUCH.SAVE
    '    Else
    '        If False Then 'NOCH NCIHT....

    '            If DY.dy_SendungsId IsNot Nothing Then

    '            Else
    '                Return False 'Ohne Sendungsverweis kein eintrag...
    '            End If

    '            Return SPEDBUCH.SAVE
    '        End If
    '    End If
    '    Return False

    'End Function


    Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, Byref notFound As Boolean)
        Dim DY As DAKOSY_Worker.cDakosyAES = DAKOSY_Worker.cDakosyAES.LOADByBezugsNr(AES_Nr, True)
        If DY Is Nothing Then
            notFound = True
            Exit Sub
        End If
        DakosyAESDatenbereitstellung(SPEDITIONSBUCH, DY, notFound)
    End Sub

    Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, Byref notFound As Boolean)
        Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

        notFound = False

        If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = CDate(DY.aes_Trans_DatumZeit).ToShortDateString

        '  SPEDITIONSBUCH.Bestimmungszollstelle = DY.AES_BestimmungsstelleDienststellennummer
        SPEDITIONSBUCH.Versendungsland = DY.aes_AusfuehrerTeilnehmerLandCode
        SPEDITIONSBUCH.Bestimmungsland = DY.AES_BestimmungslandCode


        'SPEDITIONSBUCH.Abfertigungsdatum=

        SPEDITIONSBUCH.BelegNr = DY.AES_MRN
        SPEDITIONSBUCH.LKW_Kennzeichen = If(DY.aes_BefoerderungsmittelAbgangKennzeichen, "")

        If If(DY.aes_AusfuehrerTeilnehmerName, "") <> "" Then
            SPEDITIONSBUCH.Absender = If(DY.aes_AusfuehrerTeilnehmerName, "")
            SPEDITIONSBUCH.Absender &= ", " & If(DY.aes_AusfuehrerTeilnehmerStrasse, "")
            SPEDITIONSBUCH.Absender &= " " & If(DY.aes_AusfuehrerTeilnehmerPLZ, "")
            SPEDITIONSBUCH.Absender &= " " & If(DY.aes_AusfuehrerTeilnehmerOrt, "")
            If If(SPEDITIONSBUCH.Absender, "").Trim = String.Empty Then SPEDITIONSBUCH.Absender &= " " & If(DY.aes_AusfuehrerTeilnehmerEORI, "")
        End If



        Dim packSt = ""
        'If DY.pac IsNot Nothing Then packSt = DY.AES_GesamtAnzahlPackstuecke & " Pk. "

        If DY.AES_WARENPOS.Count > 0 Then
            'SPEDITIONSBUCH.Währungsschlüssel = If(DY.AES_WARENPOS(0).AESWP_WarenwertWaehrung, "")
            SPEDITIONSBUCH.Währungsschlüssel = "900"
            If DY.AES_GesamtRohmasse IsNot Nothing Then packSt &= If(DY.AES_WARENPOS(0).AESWP_Warenbezeichnung, "")

            Dim sumBrg As Double = 0
            For Each S In DY.AES_WARENPOS
                sumBrg += If(S.aesWP_Wert, 0)
            Next
            If sumBrg > 0 Then SPEDITIONSBUCH.Rechnungsbetrag = sumBrg
        End If

        If packSt.Trim <> String.Empty Then SPEDITIONSBUCH.Packstücke = packSt.Trim

        If DY.AES_GesamtRohmasse IsNot Nothing AndAlso IsNumeric(DY.AES_GesamtRohmasse) Then SPEDITIONSBUCH.Rohmasse = CInt(DY.AES_GesamtRohmasse) 'CDbl(DY.AES_GesamtRohmasse).ToString("N2")
        'Personal Abfertigung:
        Try
            If DY.AES_Bearbeiter IsNot Nothing Then
                Dim p = SQL.getValueTxtBySql("SELECT  ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID]  FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE [mit_DAKOSY_SB]='" & DY.AES_Bearbeiter & "'", "ADMIN")
                SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
            End If
        Catch ex As Exception
            MsgBox("Fehler DAKOSY Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
        End Try

    End Sub


End Class




Public Class cDakosy_AES_Warenposition

    Property aesWP_Id As Integer
    Property aesWP_AESId As Integer
    Property aesWP_PositionsNummer As Object = Nothing
    Property aesWP_WarennummerKN8 As Object = Nothing
    Property aesWP_WarennummerTARIC As Object = Nothing
    Property aesWP_WarennummerZusatz1 As Object = Nothing
    Property aesWP_WarennummerZusatz2 As Object = Nothing
    Property aesWP_WarennummerNational As Object = Nothing

    Property aesWP_Warenbezeichnung As Object = Nothing
    Property aesWP_RegisternummerFremdsystem As Object = Nothing
    Property aesWP_Vermerk As Object = Nothing

    Property aesWP_KennungSendung As Object = Nothing
    Property aesWP_UrsprungsbundeslandCode As Object = Nothing
    Property aesWP_Eigenmasse As Object = Nothing
    Property aesWP_Rohmasse As Object = Nothing
    Property aesWP_Gefahrgutnummer As Object = Nothing
    Property aesWP_ZahlungsweiseBefoerderungskosten As Object = Nothing
    Property aesWP_VerfahrenAngemeldetCode As Object = Nothing
    Property aesWP_VerfahrenVorangegangenCode As Object = Nothing
    Property aesWP_VerfahrenNationalCode As Object = Nothing

    Property aesWP_AusfuhrerstattungVerfahrensCode As Object = Nothing
    Property aesWP_Menge As Object = Nothing
    Property aesWP_Wert As Object = Nothing
    Property aesWP_VorpapierTypCode1 As Object = Nothing
    Property aesWP_ReferenzID1 As Object = Nothing
    Property aesWP_Zusatz1 As Object = Nothing
    Property aesWP_VorpapierTypCode2 As Object = Nothing
    Property aesWP_ReferenzID2 As Object = Nothing
    Property aesWP_Zusatz2 As Object = Nothing
    Property aesWP_VorpapierTypCode3 As Object = Nothing
    Property aesWP_ReferenzID3 As Object = Nothing
    Property aesWP_Zusatz3 As Object = Nothing
    Property aesWP_VorpapierTypCode4 As Object = Nothing
    Property aesWP_ReferenzID4 As Object = Nothing
    Property aesWP_Zusatz4 As Object = Nothing
    Property aesWP_VorpapierTypCode5 As Object = Nothing
    Property aesWP_ReferenzID5 As Object = Nothing
    Property aesWP_Zusatz5 As Object = Nothing
    Property aesWP_VorpapierTypCode6 As Object = Nothing
    Property aesWP_ReferenzID6 As Object = Nothing
    Property aesWP_Zusatz6 As Object = Nothing
    Property aesWP_VorpapierTypCode7 As Object = Nothing
    Property aesWP_ReferenzID7 As Object = Nothing
    Property aesWP_Zusatz7 As Object = Nothing
    Property aesWP_VorpapierTypCode8 As Object = Nothing
    Property aesWP_ReferenzID8 As Object = Nothing
    Property aesWP_Zusatz8 As Object = Nothing
    Property aesWP_VorpapierTypCode9 As Object = Nothing
    Property aesWP_ReferenzID9 As Object = Nothing
    Property aesWP_Zusatz9 As Object = Nothing
    Property aesWP_Containernummer1 As Object = Nothing
    Property aesWP_Containernummer2 As Object = Nothing
    Property aesWP_Containernummer3 As Object = Nothing
    Property aesWP_Containernummer4 As Object = Nothing

    Property aesWP_EmpfaengerTeilnehmerEORI As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerNLNR As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerName As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerStrasse As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerOrt As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerPLZ As Object = Nothing
    Property aesWP_EmpfaengerTeilnehmerLandCode As Object = Nothing



    Property aesWP_PACKSTUECKE As New List(Of cDakosy_AES_WarenpositionPackstuecke)
    Property aesWP_UNTERLAGEN As New List(Of cDakosy_AES_WarenpositionUnterlagen)

    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

    Sub New()
        '  Me.aesWP_aesId = aesWP_aesId
    End Sub

    'Sub New(aesSA_Id)
    '    Me.aesSA_Id = aesSA_Id
    ' LOAD()
    ' End Sub


    Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Id", aesWP_Id, , True, True))


        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_AESId", aesWP_AESId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_PositionsNummer", aesWP_PositionsNummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_WarennummerKN8", aesWP_WarennummerKN8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_WarennummerTARIC", aesWP_WarennummerTARIC))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_WarennummerZusatz1", aesWP_WarennummerZusatz1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_WarennummerZusatz2", aesWP_WarennummerZusatz2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_WarennummerNational", aesWP_WarennummerNational))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Warenbezeichnung", aesWP_Warenbezeichnung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_RegisternummerFremdsystem", aesWP_RegisternummerFremdsystem))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Vermerk", aesWP_Vermerk))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_KennungSendung", aesWP_KennungSendung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_UrsprungsbundeslandCode", aesWP_UrsprungsbundeslandCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Eigenmasse", aesWP_Eigenmasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Rohmasse", aesWP_Rohmasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Gefahrgutnummer", aesWP_Gefahrgutnummer))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ZahlungsweiseBefoerderungskosten", aesWP_ZahlungsweiseBefoerderungskosten))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VerfahrenAngemeldetCode", aesWP_VerfahrenAngemeldetCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VerfahrenVorangegangenCode", aesWP_VerfahrenVorangegangenCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VerfahrenNationalCode", aesWP_VerfahrenNationalCode))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_AusfuhrerstattungVerfahrensCode", aesWP_AusfuhrerstattungVerfahrensCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Menge", aesWP_Menge))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Wert", aesWP_Wert))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode1", aesWP_VorpapierTypCode1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID1", aesWP_ReferenzID1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz1", aesWP_Zusatz1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode2", aesWP_VorpapierTypCode2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID2", aesWP_ReferenzID2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz2", aesWP_Zusatz2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode3", aesWP_VorpapierTypCode3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID3", aesWP_ReferenzID3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz3", aesWP_Zusatz3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode4", aesWP_VorpapierTypCode4))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID4", aesWP_ReferenzID4))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz4", aesWP_Zusatz4))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode5", aesWP_VorpapierTypCode5))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID5", aesWP_ReferenzID5))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz5", aesWP_Zusatz5))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode6", aesWP_VorpapierTypCode6))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID6", aesWP_ReferenzID6))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz6", aesWP_Zusatz6))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode7", aesWP_VorpapierTypCode7))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID7", aesWP_ReferenzID7))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz7", aesWP_Zusatz7))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode8", aesWP_VorpapierTypCode8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID8", aesWP_ReferenzID8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz8", aesWP_Zusatz8))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_VorpapierTypCode9", aesWP_VorpapierTypCode9))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_ReferenzID9", aesWP_ReferenzID9))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Zusatz9", aesWP_Zusatz9))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Containernummer1", aesWP_Containernummer1))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Containernummer2", aesWP_Containernummer2))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Containernummer3", aesWP_Containernummer3))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_Containernummer4", aesWP_Containernummer4))

        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerEORI", aesWP_EmpfaengerTeilnehmerEORI))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerNLNR", aesWP_EmpfaengerTeilnehmerNLNR))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerName", aesWP_EmpfaengerTeilnehmerName))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerStrasse", aesWP_EmpfaengerTeilnehmerStrasse))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerOrt", aesWP_EmpfaengerTeilnehmerOrt))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerPLZ", aesWP_EmpfaengerTeilnehmerPLZ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWP_EmpfaengerTeilnehmerLandCode", aesWP_EmpfaengerTeilnehmerLandCode))

        Return list
    End Function


    Public Function INSERT() As Boolean
        Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
        'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
        aesWP_Id = SQL.doSQLVarListID(aesWP_Id, getInsertCmd, "FMZOLL", , list)
        Return aesWP_Id > 0
    End Function

    Public Function getInsertCmd() As String
        Try
            Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
            Dim str As String = ""
            Dim values As String = ""
            For Each i In list
                If Not i.isPrimaryParam Then
                    str &= "[" & i.Text & "],"
                    values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
                End If
            Next
            str = str.Substring(0, str.Length - 1) 'wg. ','
            values = values.Substring(0, values.Length - 1) 'wg. ','
            Return (" INSERT INTO tblDakosy_AES_Warenposition (" & str & ") VALUES(" & values & ")  ")
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return ""
    End Function




    Public Sub LOAD_WarenpositionPackstuecke()
        Try
            aesWP_PACKSTUECKE.Clear()
            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT * FROM tblDakosy_AES_WarenpositionPackstuecke WHERE aesWpPk_aesWPId=@aesWP_Id  ", conn)
                    cmd.Parameters.AddWithValue("@aesWP_Id", Me.aesWP_Id)
                    Dim dr = cmd.ExecuteReader()
                    While dr.Read
                        Dim l As New cDakosy_AES_WarenpositionPackstuecke()
                        For Each i In l.getParameterList()
                            Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
                            If dr.Item(i.Text) Is DBNull.Value Then
                                propInfo.SetValue(l, Nothing)
                            Else
                                propInfo.SetValue(l, dr.Item(i.Text))
                            End If
                        Next
                        aesWP_PACKSTUECKE.Add(l)
                    End While
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
    End Sub

    Public Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
        Dim sqlstr = " DELETE FROM [tblDakosy_AES_WarenpositionPackstuecke] WHERE aesWpPk_aesWPId=" & Me.aesWP_Id & " "
        Return SQL.doSQL(sqlstr, "FMZOLL")
    End Function

    Public Function INSERT_WarenpositionPackstuecke(wp_id, aes_Id) As Boolean
        'Zuserst alle OffertenPos von dem Offert löschen

        'jetzt die Standartofferten  einfügen
        For Each p In aesWP_PACKSTUECKE
            p.aesWpPk_aesWPId = wp_id
            p.aesWpPk_aesId = aes_Id
            If Not p.INSERT() Then
                Return False
            End If
        Next

        Return True
    End Function



    Public Sub LOAD_WarenpositionUnterlagen()
        Try
            aesWP_UNTERLAGEN.Clear()
            Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
                Using cmd As New SqlCommand("SELECT * FROM tblDakosy_AES_WarenpositionUnterlagen WHERE aesWpUl_aesWPId=@aesWP_Id  ", conn)
                    cmd.Parameters.AddWithValue("@aesWP_Id", Me.aesWP_Id)
                    Dim dr = cmd.ExecuteReader()
                    While dr.Read
                        Dim l As New cDakosy_AES_WarenpositionUnterlagen
                        For Each i In l.getParameterList()
                            Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
                            If dr.Item(i.Text) Is DBNull.Value Then
                                propInfo.SetValue(l, Nothing)
                            Else
                                propInfo.SetValue(l, dr.Item(i.Text))
                            End If
                        Next
                        aesWP_UNTERLAGEN.Add(l)
                    End While
                    dr.Close()
                End Using
            End Using
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
    End Sub

    Public Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
        Dim sqlstr = " DELETE FROM [tblDakosy_AES_WarenpositionUnterlagen] WHERE aesWpUl_aesWPId=" & Me.aesWP_Id & " "
        Return SQL.doSQL(sqlstr, "FMZOLL")
    End Function

    Public Function INSERT_WarenpositionUnterlagen(wp_id, aes_Id) As Boolean
        'Zuserst alle OffertenPos von dem Offert löschen

        'jetzt die Standartofferten  einfügen
        For Each p In aesWP_UNTERLAGEN
            p.aesWpUl_aesWPId = wp_id
            p.aesWpUl_aesId = aes_Id
            If Not p.INSERT() Then
                Return False
            End If
        Next

        Return True
    End Function




End Class



Public Class cDakosy_AES_WarenpositionPackstuecke

    Property aesWpPk_Id As Integer
    Property aesWpPk_aesWPId As Integer
    Property aesWpPk_aesId As Integer

    Property aesWpPk_PackstueckeAnzahl As Object = Nothing
    Property aesWpPk_Verpackungsart As Object = Nothing
    Property aesWpPk_Kennzeichnung As Object = Nothing


    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

    Sub New()
        '   Me.aesWpPk_aesWPId = aesWpPk_aesWPId
    End Sub


    Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_Id", aesWpPk_Id, , True, True))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_aesWPId", aesWpPk_aesWPId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_aesId", aesWpPk_aesId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_PackstueckeAnzahl", aesWpPk_PackstueckeAnzahl))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_Verpackungsart", aesWpPk_Verpackungsart))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpPk_Kennzeichnung", aesWpPk_Kennzeichnung))
        Return list
    End Function


    Public Function INSERT() As Boolean
        Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
        aesWpPk_Id = SQL.doSQLVarListID(aesWpPk_Id, getInsertCmd(), "FMZOLL", , list)
        Return aesWpPk_Id > 0
    End Function

    Public Function getInsertCmd() As String
        Try
            Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
            Dim str As String = ""
            Dim values As String = ""
            For Each i In list
                If Not i.isPrimaryParam Then
                    str &= "[" & i.Text & "],"
                    values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
                End If
            Next
            str = str.Substring(0, str.Length - 1) 'wg. ','
            values = values.Substring(0, values.Length - 1) 'wg. ','
            Return (" INSERT INTO tblDakosy_AES_WarenpositionPackstuecke (" & str & ") VALUES(" & values & ")  ")
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return ""
    End Function

End Class

Public Class cDakosy_AES_WarenpositionUnterlagen

    Property aesWpUl_Id As Integer
    Property aesWpUl_aesWPId As Integer
    Property aesWpUl_aesId As Integer
    Property aesWpUl_Typ As Object = Nothing
    Property aesWpUl_QualifierCode As Object = Nothing
    Property aesWpUl_ReferenzID As Object = Nothing
    Property aesWpUl_Zusatz As Object = Nothing
    Property aesWpUl_Detail As Object = Nothing
    Property aesWpUl_DatumAusstellung As Object = Nothing
    Property aesWpUl_DatumEndeGueltigkeit As Object = Nothing
    Property aesWpUl_Wert As Object = Nothing
    Property aesWpUl_Abschreibungsmenge As Object = Nothing
    Property aesWpUl_Masseinheit As Object = Nothing


    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

    Sub New()
        '  Me.aesWpUl_aesWPId = aesWpUl_aesWPId
    End Sub


    Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Id", aesWpUl_Id, , True, True))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_aesWPId", aesWpUl_aesWPId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_aesId", aesWpUl_aesId))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Typ", aesWpUl_Typ))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_QualifierCode", aesWpUl_QualifierCode))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_ReferenzID", aesWpUl_ReferenzID))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Zusatz", aesWpUl_Zusatz))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Detail", aesWpUl_Detail))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_DatumAusstellung", aesWpUl_DatumAusstellung))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_DatumEndeGueltigkeit", aesWpUl_DatumEndeGueltigkeit))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Wert", aesWpUl_Wert))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Abschreibungsmenge", aesWpUl_Abschreibungsmenge))
        list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("aesWpUl_Masseinheit", aesWpUl_Masseinheit))
        Return list
    End Function


    Public Function INSERT() As Boolean
        Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
        aesWpUl_Id = SQL.doSQLVarListID(aesWpUl_Id, getInsertCmd(), "FMZOLL", , list)
        Return aesWpUl_Id > 0
    End Function

    Public Function getInsertCmd() As String
        Try
            Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
            Dim str As String = ""
            Dim values As String = ""
            For Each i In list
                If Not i.isPrimaryParam Then
                    str &= "[" & i.Text & "],"
                    values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
                End If
            Next
            str = str.Substring(0, str.Length - 1) 'wg. ','
            values = values.Substring(0, values.Length - 1) 'wg. ','
            Return (" INSERT INTO tblDakosy_AES_WarenpositionUnterlagen (" & str & ") VALUES(" & values & ")  ")
        Catch ex As Exception
            MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
        End Try
        Return ""
    End Function

End Class
