Public Class usrCntlSA_Gestellung
    Implements FormualrInterface

    Public Event CHANGED(name, value)
    Public Event KDNR_CHANGED(kdnr)
    Public Event DELETE(c As Control)
    Public Event MOVE_UP(c As Control)
    Public Event MOVE_DOWN(c As Control)
    Dim AVISOID As Integer = 0
    Dim AVISODAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
    Public KdNR As Integer = -1
    Dim GESTELLUNGSMITTEILUNG As New VERAG_PROG_ALLGEMEIN.cGestellungsmitteilung

    Dim WithEvents timer As New Timer
    Public Sub ChangeKDNr(kdnr As Integer) _
       Implements FormualrInterface.ChangeKDNr
        initKdNR(kdnr)
    End Sub
    Sub New(AVISOID As Integer)

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

    End Sub
    'Dim KdNR As Integer = -1
    Sub initControlsHandler()
        For Each c In Me.Controls
            Select Case c.GetType.ToString
                Case GetType(VERAG_PROG_ALLGEMEIN.MyTextBox).ToString
                    AddHandler DirectCast(c, VERAG_PROG_ALLGEMEIN.MyTextBox).Leave, Sub()
                                                                                        RaiseEvent CHANGED(c.name, c.text)
                                                                                    End Sub
                Case GetType(VERAG_PROG_ALLGEMEIN.MyComboBox).ToString
                    AddHandler DirectCast(c, VERAG_PROG_ALLGEMEIN.MyComboBox).SelectedIndexChanged, Sub()
                                                                                                        RaiseEvent CHANGED(c.name, c._value)
                                                                                                    End Sub
                Case GetType(TextBox).ToString
                    AddHandler DirectCast(c, TextBox).Leave, Sub()
                                                                 RaiseEvent CHANGED(c.name, c.text)
                                                             End Sub
            End Select
        Next
    End Sub

    Private Sub btn_Click(sender As Object, e As EventArgs)
        Dim kdsrch As New SDL.frmKundenSuche
        'Panel1.Enabled = False
        If kdsrch.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
            If IsNumeric(kdsrch.kundenNrSearch.Text) Then
                initKdNR(kdsrch.kundenNrSearch.Text)
                RaiseEvent KDNR_CHANGED(KdNR)
            End If
        End If
        '  Panel1.Enabled = True
    End Sub

    Public Sub initKdNR(KdNR)
        Me.KdNR = KdNR
        Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(KdNR)
        Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNR)

        'txtFirma.Text = If(ADRESSE.Name_1, "") & If(If(ADRESSE.Name_2, "") <> "", " " & ADRESSE.Name_2, "")
        'txtAdresse1.Text = If(ADRESSE.Straße, "")
        'txtAdresse2.Text = (If(ADRESSE.LandKz, "") & " " & If(ADRESSE.PLZ, "") & " " & If(ADRESSE.Ort, "")).ToString.Trim

        'txtAnsprechpartner.Text = If(ADRESSE.Ansprechpartner, "")

    End Sub


    Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
        RaiseEvent DELETE(Me)
    End Sub

    Private Sub btnup_Click(sender As Object, e As EventArgs) Handles btnUp.Click
        RaiseEvent MOVE_UP(Me)
    End Sub

    Private Sub btnDown_Click(sender As Object, e As EventArgs) Handles btnDown.Click
        RaiseEvent MOVE_DOWN(Me)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs)

    End Sub

    Private Sub usrcntlVollmacht_AT_Load(sender As Object, e As EventArgs) Handles Me.Load
        initControlsHandler()
        If KdNR > 0 Then initKdNR(KdNR)

        AddHandler Me.ParentForm.FormClosing, Sub()
                                                  saveMe
                                              End Sub


        MyFlowLayoutPanel1.Controls.Clear()
        addElement()
        timer.Interval = 500
    End Sub

    Sub saveMe()
        getvalues()
        GESTELLUNGSMITTEILUNG.DELETE_AVISOID(AVISOID)
        GESTELLUNGSMITTEILUNG.SAVE() 'Speichern beim Schließen der Form
    End Sub

    Public Sub initAVISOID()
        If AVISOID <= 0 Then Exit Sub

        Dim AVISO As VERAG_PROG_ALLGEMEIN.cAviso = AVISODAL.LesenAviso(AVISOID, "")
        If AVISO IsNot Nothing Then
            txtLKWKennzeichen.Text = AVISO.LKW_Nr
            MyFlowLayoutPanel1.Controls.Clear()
            IMPORT()
        End If
    End Sub

    Function addElement(Optional uTmp As usrCntlSA_GestellungElemente = Nothing) As usrCntlSA_GestellungElemente
        Dim u As New usrCntlSA_GestellungElemente
        If uTmp IsNot Nothing Then
            u.gstmp_SendungID = uTmp.gstmp_SendungID
            u.gstmp_Abfertigungsart_ID = uTmp.gstmp_Abfertigungsart_ID
            u.gstmp_FilialenNr = uTmp.gstmp_FilialenNr
            u.gstmp_AbfertigungsNr = uTmp.gstmp_AbfertigungsNr
            u.gstmp_UnterNr = uTmp.gstmp_UnterNr
            u.init()
        End If

        AddHandler u.ADD_ELEMENT, Sub()
                                      addElement(u)
                                      Me.Height += u.Height + 6
                                  End Sub
        AddHandler u.DEL_ELEMENT, Sub(c As usrCntlSA_GestellungElemente)
                                      If MyFlowLayoutPanel1.Controls.Count > 1 Then
                                          MyFlowLayoutPanel1.Controls.Remove(c)
                                          Me.Height -= u.Height + 6
                                      End If

                                  End Sub
        AddHandler u.MOVE_UP, AddressOf ControlMoveUp
        AddHandler u.MOVE_DOWN, AddressOf ControlMoveDown

        MyFlowLayoutPanel1.Controls.Add(u)

        Dim tmp As usrCntlSA_GestellungElemente = Nothing
        Dim cnt = 1
        For Each c In MyFlowLayoutPanel1.Controls
            tmp = DirectCast(c, usrCntlSA_GestellungElemente)
            ' tmp.Button1.Visible = False
            'If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" Then tmp.lbl1.Text = cnt : cnt += 1
        Next
        tmp.Button1.Visible = True 'IMMER TRUE --> SND ad ' If tmp IsNot Nothing Then tmp.Button1.Visible = True
        Return u
    End Function

    Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
        FormularManagerNEU.genPDF(Me, True)
    End Sub


    Sub IMPORT()
        Me.Cursor = Cursors.WaitCursor
        MyFlowLayoutPanel1.Controls.Clear()

        GESTELLUNGSMITTEILUNG = New VERAG_PROG_ALLGEMEIN.cGestellungsmitteilung()
        GESTELLUNGSMITTEILUNG.LOADFromAvisoId(AVISOID)
        If Not GESTELLUNGSMITTEILUNG.hasEntry Then
            LOAD_FROM_AVISO(AVISOID)
        End If
        setvalues()

        If MyFlowLayoutPanel1.Controls.Count = 0 Then addElement()
        Me.Cursor = Cursors.Default
    End Sub


    Sub setvalues()

        txtT1Gestellung.Text = If(GESTELLUNGSMITTEILUNG.gstm_T1Gestellung_ATB, "")
        txtBezugsNrSumA.Text = If(GESTELLUNGSMITTEILUNG.gstm_BezugsNrSumA, "")
        txtLKWKennzeichen.Text = If(GESTELLUNGSMITTEILUNG.gstm_LKWKennzeichen, "")
        txtGesColli.Text = If(GESTELLUNGSMITTEILUNG.gstm_GesamtColli, "")
        txtGesGewicht.Text = If(GESTELLUNGSMITTEILUNG.gstm_GesamtGewicht, "")
        txtFilialeLKWId.Text = GESTELLUNGSMITTEILUNG.gstm_AvisoId

        For Each POS As VERAG_PROG_ALLGEMEIN.cGestellungsmitteilungPositionen In GESTELLUNGSMITTEILUNG.POSITIONEN
            Dim u As usrCntlSA_GestellungElemente = addElement()
            Me.Height += u.Height + 6
            u.txtWarenbezeichnung.Text = If(POS.gstmp_Warenbezeichnung, "")
            u.txtColli.Text = If(POS.gstmp_Colli, "")
            u.txtGewicht.Text = If(POS.gstmp_Gewicht, "")
            u.rtbBemerkung.Text = If(POS.gstmp_Bemerkung, "")
            u.txtAbsender.Text = If(POS.gstmp_Absender, "")
            u.txtEmpfaenger.Text = If(POS.gstmp_Empfaenger, "")
            u.cboAbfertigungsart.Text = If(POS.gstmp_Abfertigungsart, "")
            u.txtAtaMrn.Text = If(POS.gstmp_ATANr, "")
            u.lbl1.Text = If(POS.gstmp_T1Nr, "")

            u.gstmp_SendungID = POS.gstmp_SendungID
            u.gstmp_Abfertigungsart_ID = POS.gstmp_Abfertigungsart_ID
            u.gstmp_FilialenNr = POS.gstmp_FilialenNr
            u.gstmp_AbfertigungsNr = POS.gstmp_AbfertigungsNr
            u.gstmp_UnterNr = POS.gstmp_UnterNr
            u.init()
        Next
    End Sub


    Sub getvalues()

        GESTELLUNGSMITTEILUNG.gstm_T1Gestellung_ATB = txtT1Gestellung.Text
        GESTELLUNGSMITTEILUNG.gstm_BezugsNrSumA = txtBezugsNrSumA.Text
        GESTELLUNGSMITTEILUNG.gstm_LKWKennzeichen = txtLKWKennzeichen.Text
        GESTELLUNGSMITTEILUNG.gstm_GesamtColli = txtGesColli.Text
        GESTELLUNGSMITTEILUNG.gstm_GesamtGewicht = txtGesGewicht.Text
        GESTELLUNGSMITTEILUNG.gstm_AvisoId = txtFilialeLKWId.Text

        GESTELLUNGSMITTEILUNG.POSITIONEN.Clear()
        For Each USRCNTL As usrCntlSA_GestellungElemente In MyFlowLayoutPanel1.Controls
            Dim POS As New VERAG_PROG_ALLGEMEIN.cGestellungsmitteilungPositionen(GESTELLUNGSMITTEILUNG.gstm_id, GESTELLUNGSMITTEILUNG.gstm_AvisoId)
            POS.gstmp_AvisoID = AVISOID
            POS.gstmp_Warenbezeichnung = USRCNTL.txtWarenbezeichnung.Text
            POS.gstmp_Colli = USRCNTL.txtColli.Text
            POS.gstmp_Gewicht = USRCNTL.txtGewicht.Text
            POS.gstmp_Bemerkung = USRCNTL.rtbBemerkung.Text
            POS.gstmp_Absender = USRCNTL.txtAbsender.Text
            POS.gstmp_Empfaenger = USRCNTL.txtEmpfaenger.Text
            POS.gstmp_Abfertigungsart = If(USRCNTL.cboAbfertigungsart._value, "")
            POS.gstmp_ATANr = USRCNTL.txtAtaMrn.Text
            POS.gstmp_T1Nr = If(IsNumeric(USRCNTL.lbl1.Text), CInt(USRCNTL.lbl1.Text), Nothing)

            POS.gstmp_SendungID = USRCNTL.gstmp_SendungID
            POS.gstmp_Abfertigungsart_ID = USRCNTL.gstmp_Abfertigungsart_ID
            POS.gstmp_FilialenNr = USRCNTL.gstmp_FilialenNr
            POS.gstmp_AbfertigungsNr = USRCNTL.gstmp_AbfertigungsNr
            POS.gstmp_UnterNr = USRCNTL.gstmp_UnterNr
            GESTELLUNGSMITTEILUNG.POSITIONEN.Add(POS)
        Next
    End Sub


    Sub LOAD_FROM_AVISO(AVISOID)
        Try
            If AVISOID <= 0 Then Exit Sub
            Dim gesColli As Double = 0
            Dim gesGewicht As Double = 0

            Dim AVISO = AVISODAL.LesenAviso(AVISOID, "")

            GESTELLUNGSMITTEILUNG.gstm_AvisoId = AVISOID
            GESTELLUNGSMITTEILUNG.gstm_LKWKennzeichen = AVISO.LKW_Nr
            'GESTELLUNGSMITTEILUNG.gstm_LKWKennzeichen = AVISO.LKW_Nr

            Dim cnt = 1
            For Each r As DataRow In AVISODAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AVISOID).Rows
                Dim SENDUNG As New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID"))
                ' MsgBox(SENDUNG.FilialenNr)
                If SENDUNG IsNot Nothing Then
                    Select Case SENDUNG.FilialenNr
                        Case "4809", "4807"
                        Case Else
                            Select Case SENDUNG.tblSnd_Abfertigungsart_ID
                                Case "26"
                                Case Else
                                    Dim POS As New VERAG_PROG_ALLGEMEIN.cGestellungsmitteilungPositionen(GESTELLUNGSMITTEILUNG.gstm_id, GESTELLUNGSMITTEILUNG.gstm_AvisoId, SENDUNG.tblSnd_SendungID)


                                    POS.gstmp_SendungID = SENDUNG.tblSnd_SendungID
                                    POS.gstmp_Abfertigungsart_ID = SENDUNG.tblSnd_Abfertigungsart_ID
                                    POS.gstmp_FilialenNr = SENDUNG.FilialenNr
                                    POS.gstmp_AbfertigungsNr = SENDUNG.AbfertigungsNr
                                    POS.gstmp_UnterNr = SENDUNG.UnterNr

                                    '     Dim u As usrCntlSA_GestellungElemente = addElement()
                                    Dim send = ""
                                    If If(SENDUNG.tblSnd_Colli, "") <> "" Then
                                        POS.gstmp_Colli = SENDUNG.tblSnd_Colli
                                        If IsNumeric(SENDUNG.tblSnd_Colli.Trim) Then gesColli += SENDUNG.tblSnd_Colli.Trim
                                    End If

                                    If If(SENDUNG.tblSnd_Warenbezeichnung, "") <> "" Then POS.gstmp_Warenbezeichnung = SENDUNG.tblSnd_Warenbezeichnung
                                    If If(SENDUNG.tblSnd_Gewicht, "") <> "" Then
                                        If IsNumeric(SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim) Then
                                            POS.gstmp_Gewicht = CInt(SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim)
                                            gesGewicht += SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim
                                        Else
                                            POS.gstmp_Gewicht = SENDUNG.tblSnd_Gewicht
                                        End If
                                    End If

                                    If If(SENDUNG.tblSnd_Absender, "") <> "" Then POS.gstmp_Absender = SENDUNG.tblSnd_Absender
                                    If If(SENDUNG.tblSnd_Empfaenger, "") <> "" Then POS.gstmp_Empfaenger = SENDUNG.tblSnd_Empfaenger

                                    If If(SENDUNG.tblSnd_FremdspeditionText, "") <> "" Then POS.gstmp_Bemerkung = SENDUNG.tblSnd_FremdspeditionText

                                    POS.gstmp_Abfertigungsart_ID = SENDUNG.tblSnd_Abfertigungsart_ID
                                    Select Case SENDUNG.tblSnd_Abfertigungsart_ID
                                        Case "1", "2", "3"
                                            POS.gstmp_Abfertigungsart = "VZ"
                                        Case "5"
                                            POS.gstmp_Abfertigungsart = "T1"
                                        Case "6"
                                            POS.gstmp_Abfertigungsart = "T2"
                                        Case "23"
                                            If If(SENDUNG.tblSnd_ATANr, "") <> "" Then POS.gstmp_ATANr = SENDUNG.tblSnd_ATANr
                                    End Select

                                    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

                                    Select Case POS.gstmp_Abfertigungsart
                                        Case "VZ"
                                            POS.gstmp_ATANr = SQL.getValueTxtBySql("SELECT TOP  1  isnull(eza_ANR,'')   FROM tblDakosy_Zollanmeldungen INNER JOIN tblDakosy_EZA     ON eza_dyaAnmID=dy_Id    where dy_SendungsId = '" & SENDUNG.tblSnd_SendungID & "' and eza_ANR is not null order by dy_id desc", "FMZOLL")
                                            If POS.gstmp_ATANr = "" Then
                                                If SENDUNG.AbfertigungsNr > 0 Then
                                                    POS.gstmp_ATANr = SQL.getValueTxtBySql("SELECT TOP 1 isnull(zbant_arbnr,'')  FROM [zbant]  where zbant_stat BETWEEN 40 AND 71  and zbant_beznr like '" & SENDUNG.FilialenNr & "/" & CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2)) & "%'  order by zbant_beznr desc", "ATLAS")
                                                End If
                                            End If
                                        Case "T1", "T2"
                                            POS.gstmp_ATANr = SQL.getValueTxtBySql("SELECT TOP  1  isnull(ncts_MRN,ncts_ANR)   FROM tblDakosy_Zollanmeldungen INNER JOIN tblDakosy_NCTSOut ON ncts_dyaAnmID=dy_Id   where dy_SendungsId = '" & SENDUNG.tblSnd_SendungID & "' and ( ncts_MRN is not null or ncts_ANR is not null ) order by dy_id desc", "FMZOLL")
                                    End Select
                                    If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" Then POS.gstmp_T1Nr = cnt : cnt += 1

                                    GESTELLUNGSMITTEILUNG.POSITIONEN.Add(POS)
                            End Select
                    End Select
                End If
            Next
            GESTELLUNGSMITTEILUNG.gstm_GesamtGewicht = CInt(gesGewicht)
            GESTELLUNGSMITTEILUNG.gstm_GesamtColli = CInt(gesColli)

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Sub IMPORT_OLD()
        Me.Cursor = Cursors.WaitCursor
        Try
            If AVISOID <= 0 Then Exit Sub
            Dim gesColli As Double = 0
            Dim gesGewicht As Double = 0

            For Each r As DataRow In AVISODAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AVISOID).Rows
                Dim SENDUNG As New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID"))
                ' MsgBox(SENDUNG.FilialenNr)
                If SENDUNG IsNot Nothing Then
                    Select Case SENDUNG.FilialenNr
                        Case "4809", "4807"
                        Case Else
                            Select Case SENDUNG.tblSnd_Abfertigungsart_ID
                                Case "26"
                                Case Else
                                    Dim u As usrCntlSA_GestellungElemente = addElement()
                                    Me.Height += u.Height + 6
                                    Dim send = ""
                                    If If(SENDUNG.tblSnd_Colli, "") <> "" Then
                                        u.txtColli.Text = SENDUNG.tblSnd_Colli
                                        If IsNumeric(SENDUNG.tblSnd_Colli.Trim) Then gesColli += SENDUNG.tblSnd_Colli.Trim
                                    End If

                                    If If(SENDUNG.tblSnd_Warenbezeichnung, "") <> "" Then u.txtWarenbezeichnung.Text = SENDUNG.tblSnd_Warenbezeichnung
                                    If If(SENDUNG.tblSnd_Gewicht, "") <> "" Then
                                        If IsNumeric(SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim) Then
                                            u.txtGewicht.Text = CInt(SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim)
                                            gesGewicht += SENDUNG.tblSnd_Gewicht.ToString.Replace("kg", "").Trim
                                        Else
                                            u.txtGewicht.Text = SENDUNG.tblSnd_Gewicht
                                        End If
                                    End If
                                    txtFilialeLKWId.Text = SENDUNG.tblSnd_AvisoID

                                    If If(SENDUNG.tblSnd_Absender, "") <> "" Then u.txtAbsender.Text = SENDUNG.tblSnd_Absender
                                    If If(SENDUNG.tblSnd_Empfaenger, "") <> "" Then u.txtEmpfaenger.Text = SENDUNG.tblSnd_Empfaenger

                                    If If(SENDUNG.tblSnd_FremdspeditionText, "") <> "" Then u.rtbBemerkung.Text = SENDUNG.tblSnd_FremdspeditionText

                                    Select Case SENDUNG.tblSnd_Abfertigungsart_ID
                                        Case "1", "2", "3"
                                            u.cboAbfertigungsart.Text = "VZ"
                                        Case "5"
                                            u.cboAbfertigungsart.Text = "T1"
                                        Case "6"
                                            u.cboAbfertigungsart.Text = "T2"
                                        Case "23"
                                            If If(SENDUNG.tblSnd_ATANr, "") <> "" Then u.txtAtaMrn.Text = SENDUNG.tblSnd_ATANr
                                    End Select

                                    Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL

                                    Select Case u.cboAbfertigungsart.Text
                                        Case "VZ"
                                            u.txtAtaMrn.Text = SQL.getValueTxtBySql("SELECT TOP  1  isnull(eza_ANR,'')   FROM tblDakosy_Zollanmeldungen INNER JOIN tblDakosy_EZA     ON eza_dyaAnmID=dy_Id    where dy_SendungsId = '" & SENDUNG.tblSnd_SendungID & "' and eza_ANR is not null order by dy_id desc", "FMZOLL")
                                            If u.txtAtaMrn.Text = "" Then
                                                If SENDUNG.AbfertigungsNr > 0 Then
                                                    u.txtAtaMrn.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull(zbant_arbnr,'')  FROM [zbant]  where zbant_stat BETWEEN 40 AND 71  and zbant_beznr like '" & SENDUNG.FilialenNr & "/" & CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2)) & "%'  order by zbant_beznr desc", "ATLAS")
                                                End If
                                            End If
                                        Case "T1", "T2"
                                            u.txtAtaMrn.Text = SQL.getValueTxtBySql("SELECT TOP  1  isnull(ncts_MRN,ncts_ANR)   FROM tblDakosy_Zollanmeldungen INNER JOIN tblDakosy_NCTSOut ON ncts_dyaAnmID=dy_Id   where dy_SendungsId = '" & SENDUNG.tblSnd_SendungID & "' and ( ncts_MRN is not null or ncts_ANR is not null ) order by dy_id desc", "FMZOLL")
                                            ' If u.txtAtaMrn.Text = "" Then
                                            'If SENDUNG.AbfertigungsNr > 0 Then
                                            '          u.txtAtaMrn.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull([veoant_mrn],isnull([veoant_arbnr],''))  FROM [veoant]  where veoant_stat BETWEEN 40 AND 61  and veoant_beznr like '" & SENDUNG.FilialenNr & "/" & CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2)) & "%'   order by veoant_beznr desc", "ATLAS")
                                            'End If
                                            'End If
                                    End Select

                            End Select
                    End Select
                End If
            Next
            txtGesGewicht.Text = CInt(gesGewicht)
            txtGesColli.Text = CInt(gesColli)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

        If MyFlowLayoutPanel1.Controls.Count = 0 Then addElement()
        Me.Cursor = Cursors.Default
    End Sub

    Sub ControlMoveDown(CONTROL As Control)
        Dim tmp = Nothing
        For Each c As Control In MyFlowLayoutPanel1.Controls
            If tmp IsNot Nothing Then
                ' MyFlowLayoutPanel1.Controls.SetChildIndex(c, MyFlowLayoutPanel1.Controls.GetChildIndex(tmp))
                MyFlowLayoutPanel1.Controls.SetChildIndex(tmp, MyFlowLayoutPanel1.Controls.GetChildIndex(c))
                Exit Sub
            End If
            If c Is CONTROL Then
                tmp = c
            End If
        Next
    End Sub

    Sub ControlMoveUp(CONTROL As Control)
        ' MyFlowLayoutPanel1.Controls(0).
        Dim tmp = Nothing
        For Each c As Control In MyFlowLayoutPanel1.Controls
            If c Is CONTROL Then
                If tmp Is Nothing Then Exit Sub
                '  MyFlowLayoutPanel1.Controls.SetChildIndex(c, MyFlowLayoutPanel1.Controls.GetChildIndex(tmp))
                MyFlowLayoutPanel1.Controls.SetChildIndex(tmp, MyFlowLayoutPanel1.Controls.GetChildIndex(c))
                Exit Sub
            End If
            'MyFlowLayoutPanel1.Controls.
            tmp = c
        Next
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        Me.Cursor = Cursors.WaitCursor
        MyFlowLayoutPanel1.Controls.Clear()
        GESTELLUNGSMITTEILUNG = New VERAG_PROG_ALLGEMEIN.cGestellungsmitteilung
        LOAD_FROM_AVISO(AVISOID)
        setvalues()
        If MyFlowLayoutPanel1.Controls.Count = 0 Then addElement()
        Me.Cursor = Cursors.Default
    End Sub

    Private Sub btn_Click_1(sender As Object, e As EventArgs) Handles btn.Click
        saveMe()
        MyFlowLayoutPanel1.Controls.Clear()
        GESTELLUNGSMITTEILUNG.LOADFromAvisoId(AVISOID)
        setvalues()
    End Sub
End Class
