Public Class frmNeuerKunde
    Dim kundenSQL As New kundenSQL
    Public kdnr As Integer
    Public username As String
    Public tmpFiliale As Integer
    Public openKd As Boolean = True
    Public tmpKdName As String
    Public timerIntervall = 1000
    Public tmpKdNrKreis As Integer = -1
    Private Sub frmNeuerKunde_Load(sender As Object, e As EventArgs) Handles Me.Load
        Timer1.Interval = timerIntervall
        lblError.Text = ""
        sbLand.initSearchBox(Me.FindForm, " [LandKz] ,[Land]  FROM [Währungstabelle]", {"LandKz", "Land"}, " 1=1  ", "LandKz", "LandKz", "LandKz", "FMZOLL", , 400, 200)
        ComboBox1.fillWithSQL("SELECT [FilialenNr],[Grenzstelle] FROM [Filialen] ORDER BY FilialenNr", True, "FMZOLL")
        TextBox1.Focus()

        ComboBox2.Items.Clear()
        Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
            Case "IMEX"
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("1000000-1099999: IMEX", "1000000-1099990"))
                ComboBox2.changeItem("1000000-1099990")
                ComboBox1.changeItem("5501")
            Case "UNISPED"
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("2000000-2099999: UNISPED", "2000000-2099990"))
                ComboBox2.changeItem("2000000-2099990")
                ComboBox1.changeItem("5601")
            Case "AMBAR"
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("3000000-3099999: AMBAR", "3000000-3099990"))
                ComboBox2.changeItem("3000000-3099990")
                ComboBox1.changeItem("5701")
            Case "ATILLA"
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  100000-199999: ATILLA", "100000-199999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  800000-899999: BREXIT", "800000-899999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  900000-999999: Sonstige", "900000-999999"))
                'ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  700000-799999: ZOLL Abrechnung", "728000-799999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  900000-999999: Sonstige", "900000-999999"))
                ComboBox2.changeItem("100000-199999")
                ComboBox1.changeItem("4801")
            Case Else
                If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ATILLA_VERWALTUNG", "AVISO") Then
                    ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  100000-199999: ATILLA Bar/Sonstige", "100000-199999"))
                End If
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  100000-199999: XXXXXX", "100000-199999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  200000-299999: XXXXXX", "200000-299999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  300000-399999: XXXXXX", "300000-399999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  400000-499999: XXXXXX", "400000-499999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  500000-599999: XXXXXX", "500000-599999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  600000-699999: XXXXXX", "600000-699999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  500000-599999: EV - Kunden", "500000-599999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  700000-799999: ZOLL Abrechnung", "728000-799999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  5-stellig: Fiskal (keine Abrechnung)", "30000-49999"))
                '  ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  800000-899999: XXXXXX", "800000-899999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  800000-899999: BREXIT", "800000-899999"))
                ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("  900000-999999: Sonstige", "900000-999999"))
                ' ComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("1000000-1099999: IMEX", "1000000-1099990"))
                ComboBox2.changeItem("728000-799999")
        End Select




        If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kundendaten_bearbeiten", Me) Or VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
            cboUstIdLand.Enabled = True
            txtUstId.Enabled = True
            txtEORI.Enabled = True
            txtEORINL.Enabled = True

            If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kundendaten_bearbeiten", Me) Then
                FlatButton3.Visible = True
            End If

            cboUstIdLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].LandKz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez  " &
                                      " FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN [Währungstabelle] ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = [Währungstabelle].[Währungsschlüssel] " &
                                      " WHERE [Währungstabelle].[MitgliedslandEU] = 1 " &
                                      " ORDER BY [Länderverzeichnis für die Außenhandelsstatistik].LandKz ", , "FMZOLL", True)

        End If

        If tmpFiliale > 0 And ComboBox1._value = "" Then ComboBox1._value = tmpFiliale
        '  If tmpKdNrKreis > 0 Then ComboBox2.SelectedIndex = tmpKdNrKreis
        If tmpKdName <> "" Then TextBox1.Text = tmpKdName
    End Sub

    Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
        lblError.Text = ""

        If TextBox1.Text = "" Then lblError.Text = "Bitte geben Sie einen Ordnungsbegriff ein!" : Exit Sub

        If ComboBox1.Text = "" Then lblError.Text = "Bitte geben Sie die zuständige Filiale an!" : Exit Sub
        If Not ComboBox2._value.Contains("-") Then lblError.Text = "Bitte geben Sie den Kundenkreis an!" : Exit Sub
        If sbLand._value = "" Then lblError.Text = "Bitte geben Sie das Land an!" : Exit Sub
        If txtOrt.Text = "" Then lblError.Text = "Bitte geben Sie den Ort an!" : Exit Sub
        If txtPLZ.Text = "" Then lblError.Text = "Bitte geben Sie die PLZ an!" : Exit Sub
        If txtStrasse.Text = "" Then lblError.Text = "Bitte geben Sie die Straße an!" : Exit Sub

        'If  Then lblError.Text = "Der Ordnungsbegriff existiert bereits - bitte geben Sie einen neuen Ordnungsbegriff ein!" : Exit Sub


        Dim s_KdNr = ComboBox2._value.Split("-")

        If username = "" Then username = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME


        kdnr = VERAG_PROG_ALLGEMEIN.cAdressen.getHoechsteKdNr(s_KdNr(0), s_KdNr(1)) '+ 1

        If kdnr > 0 Then

            Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdnr)
            ADRESSE.AdressenNr = kdnr
            ADRESSE.Ordnungsbegriff = TextBox1.Text
            ADRESSE.Name_1 = "* NEUKUNDE *"
            ADRESSE.Eingegeben_am = Now.ToShortDateString
            ADRESSE.Sachbearbeiter = username
            ADRESSE.Straße = txtStrasse.Text
            ADRESSE.Ort = txtOrt.Text
            ADRESSE.LandKz = sbLand._value
            ADRESSE.PLZ = txtPLZ.Text
            ADRESSE.UstIdKz = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(cboUstIdLand._value)
            ADRESSE.UstIdNr = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(txtUstId.Text)

            Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(kdnr)
            KUNDE.KundenNr = kdnr
            KUNDE.KundenNrZentrale = kdnr
            KUNDE.FilialenNr = ComboBox1._value
            KUNDE.Besonderheiten = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(MyRichTextBox1.Text)
            KUNDE.Sachbearbeiter = username
            KUNDE.Eingegeben_am = Now.ToShortDateString
            KUNDE.EORITIN = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(txtEORI.Text)
            KUNDE.EORITIN_NL = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(txtEORINL.Text)


            Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdnr)
            KUNDE_ERW.kde_BesonderheitenNeu = 1

            Dim err = ""
            If Not ADRESSE.VALID(err, KUNDE) Then
                lblError.Text = err
                kdnr = -1 : Exit Sub
            End If
            If Not KUNDE.VALID(err) Then
                lblError.Text = err
                kdnr = -1 : Exit Sub
            End If

            If ADRESSE.SAVE(True) Then
                If Not KUNDE.SAVE(True) Then
                    kundenSQL.doSQL("DELETE FROM Adressen WHERE AdressenNr=" & kdnr, "FMZOLL")
                    lblError.Text = "FEHLER beim Eintragen in die Tabelle 'Kunden'!"
                    kdnr = -1 : Exit Sub
                End If
                KUNDE_ERW.SAVE()
            Else
                lblError.Text = "FEHLER beim Eintragen in die Tabelle 'Adressen'!"
                kdnr = -1 : Exit Sub
            End If

        End If



        If False Then

            '  MsgBox(kdnr)
            If kdnr > 0 Then

                If Not kundenSQL.insertKundeVERAGAdressen(kdnr, TextBox1.Text, username, txtStrasse.Text, sbLand._value, txtPLZ.Text, txtOrt.Text, cboUstIdLand._value, txtUstId.Text) Then
                    lblError.Text = "FEHLER beim Eintragen in die Tabelle 'Adressen'!" : kdnr = -1 : Exit Sub
                End If
                If Not kundenSQL.insertKundeVERAGKunden(kdnr, DirectCast(ComboBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value, username, txtEORI.Text, txtEORINL.Text) Then
                    'DELETE ADRESSEN
                    kundenSQL.doSQL("DELETE FROM Adressen WHERE AdressenNr=" & kdnr, "FMZOLL")
                    lblError.Text = "FEHLER beim Eintragen in die Tabelle 'Kunden'!" : kdnr = -1 : Exit Sub
                End If
                '  If Not kundenSQL.insertKundeVERAGKundenSDL(kdnr, TextBox1.Text) Then
                'lblError.Text = "FEHLER beim eintragen in die Tabelle 'Kunden' für SDL!" : Exit Sub
                ' End If 
            End If
        End If

        Panel1.Controls.Clear()
        Label5.Visible = True
        Timer1.Enabled = True

    End Sub

    Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click
        kdnr = -1
        Me.Close()
    End Sub

    Dim cntTimer = 0
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Timer1.Enabled = False
        'If cntTimer > 2 Then Timer1.Enabled = False
        If openKd Then cProgramFunctions.openKundenblatt(kdnr, frmMain, True)
        ' Dim pf As New cProgramFunctions
        ' pf.openKundenblatt(kdnr, True)
        cntTimer += 1
        Me.Close()
    End Sub

    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Return Then FlatButton1.PerformClick()
    End Sub

    Private Sub FlatButton3_Click(sender As Object, e As EventArgs) Handles FlatButton3.Click
        openKd = True
        FlatButton1.PerformClick()
    End Sub

    Private Sub lblError_Click(sender As Object, e As EventArgs) Handles lblError.Click

    End Sub

    Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
        Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
            Case "VERAG"
                If ComboBox2._value = "100000-199999" Then
                    ComboBox1.changeItem("4801")
                ElseIf ComboBox2._value = "1000000-1999999" Then
                    ComboBox1.changeItem("5501")
                Else
                        If ComboBox1._value = "4801" Then ComboBox1.changeItem("4803")
                End If
        End Select

    End Sub
End Class