Imports com.sun.tools.doclets.internal.toolkit.util
Imports DAKOSY_Worker

Public Class usrCntlATLAS_EXGestellung

    Property ALLG As usrCntlATLAS_EXGestellung
    'Property FilialeNr As Integer
    ' Property AbfertigungsNr As Integer

    ' Property BezugsNr As String = ""
    ' Property AvisoId As Integer
    'Property SENDUNGS_ID As Integer
    Property AVISO As VERAG_PROG_ALLGEMEIN.cAviso
    Property SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen
    Dim sentToDakosy = False


    Property FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA



    Sub New(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, FIRMA_DY As String)
        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()

        Me.AVISO = AVISO
        Me.SENDUNG = SENDUNG
        Me.FIRMA_DY = FIRMA_DY



        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    End Sub


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

        cboDakosyAction.Items.Clear()
        cboDakosyAction.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Neuen Datensatz erstellen", DY_ObjektAktion.OBJ_CREATE))
        cboDakosyAction.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vohr. DS ändern", DY_ObjektAktion.OBJ_CHANGE))
        cboDakosyAction.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vorh. DS stornieren", DY_ObjektAktion.OBJ_CANCEL))
        cboDakosyAction.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datensatz an ZOLL senden", DY_ObjektAktion.OBJ_SEND))
        cboDakosyAction.changeItem(DY_ObjektAktion.OBJ_SEND)

        sbAbgangZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"})

        cbxNCTS.Checked = False

        If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
            Button2.Visible = True
            Label5.Visible = True
        End If
        initStammref()


    End Sub


    Sub initStammref()
        Select Case FIRMA_DY
            Case "VERAG"
                txtDyMandant.Text = "VERG"
                txtDyNiederlassung.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG

            Case "ATILLA"
                txtDyMandant.Text = "ATIL"
                txtDyNiederlassung.Text = "SUW"

            Case "UNISPED"
                txtDyMandant.Text = "UNAT"
                txtDyNiederlassung.Text = "SUB"

            Case "IMEX"
                txtDyMandant.Text = "IMEX"
                txtDyNiederlassung.Text = "IME"

            Case "AMBAR"
                txtDyMandant.Text = "ATIL"
                txtDyNiederlassung.Text = "AMBWO"
        End Select

        Dim MandantWhere As String = "(dySr_dy_Mandant = '" & txtDyMandant.Text & "' " &
                  "AND dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "'))"

        'Select Case FIRMA_DY
        '    Case "ATILLA"
        '        MandantWhere = "((dySr_dy_Mandant = 'ATIL' AND dySr_dy_Niederlassung = 'SUW') " &
        '          "OR (dySr_dy_Mandant = 'UNAT' AND dySr_dy_Niederlassung = 'SUB'))"

        '    Case Else
        '        MandantWhere = "(dySr_dy_Mandant = '" & txtDyMandant.Text & "' " &
        '          "AND dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "'))"
        'End Select

        '  Dim BezugsNr = ("ID" & AVISO.AvisoID & "_" & SENDUNG.FilialenNr & "-" & SENDUNG.AbfertigungsNr & "_" & If(AVISO.Auftraggeber.Length > 8, AVISO.Auftraggeber.ToString.Substring(0, 5), AVISO.Auftraggeber)).Trim

        Dim BezugsNr = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr & "_EXG"
        lblBezugsnummer.Text = BezugsNr

        cboStammreferenz.fillWithSQL("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='EXG'  and  " & MandantWhere & "   and dySr_visible=1", False, "FMZOLL", True)
        '   MsgBox("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='AA'  and dySr_dy_Mandant='" & txtDyMandant.Text & "'  and dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "')  and dySr_visible=1")
        cboStammreferenz.changeItem("")
        If cboStammreferenz.Items.Count = 2 Then
            cboStammreferenz.SelectedIndex = 1
        End If
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Me.Cursor = Cursors.WaitCursor
        Dim err = False
        ' If cboStammreferenz._value = "" Then MsgBox("Stammreferenz auswählen!") : Me.Cursor = Cursors.Default : Exit Sub
        If sbAbgangZollstelle._value = "" Then MsgBox("Zollstelle auswählen!") : Me.Cursor = Cursors.Default : Exit Sub
        If Not sbAbgangZollstelle._value.StartsWith("DE") Then MsgBox("Gültige Zollstelle (in DE) auswählen!") : Me.Cursor = Cursors.Default : Exit Sub
        If rtbMRN.Text.Trim = "" Then MsgBox("MRN auswählen!") : Me.Cursor = Cursors.Default : Exit Sub


        Dim exg_list = New List(Of Integer)
        Dim dblcheck = ""
        'MRN Prüfung:
        For Each l In rtbMRN.Lines
            If l.Trim <> "" Then
                If l.Trim.Length >= 18 And dblcheck.Contains(l.Trim) Then
                    MsgBox("Doppelte MRN !: " & l)
                    Me.Cursor = Cursors.Default
                    Exit Sub
                End If
                If Not IsValidMRN(l.Trim) Then
                    MsgBox("Ungültige MRN (Format): " & l)
                    Me.Cursor = Cursors.Default
                    Exit Sub
                End If
                dblcheck &= l.Trim
            End If
        Next

        If sentToDakosy OrElse vbYes = MsgBox("Soll(en) die Ausfuhr-Gestellung(en) abgeschickt werden?", vbYesNoCancel) Then
            Dim cnt = 1
            'Senden:
            For Each l In rtbMRN.Lines
                If l.Trim <> "" Then

                    If Not sendEXP_MRN(l.Trim.ToUpper, sbAbgangZollstelle._value, cnt, exg_list) Then
                        MsgBox("Sendefehler bei " & l)
                        err = True
                    End If
                    cnt += 1
                End If
            Next
            If Not err Then
                If cbxNCTS.Checked Then
                    'Es wird gleich eine NCTS Nachricht erstellt, die BEfüllung erfolge nach Verarbeitung der EXG -> bei der letzten wird der NCTS Datensatz gesendet
                    Dim NCTS_OUT = usrCntlATLAS_NCTS004.genNCTSfromStammref(Me, FIRMA_DY, AVISO, SENDUNG, "")
                    NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Clear()
                    NCTS_OUT.DELETE_HouseConsignment()

                    If NCTS_OUT IsNot Nothing AndAlso NCTS_OUT.ncts_Id > 0 Then
                        MsgBox("Eine neue Versandanmeldung mit der BezugsNummer '" & NCTS_OUT.ncts_ObjectName & "' wurde erstellt. Befüllung wird bei Gestellvorgang automatisch vorgenommen.")
                        lblBezugsnummer.Text = NCTS_OUT.ncts_ObjectName

                        For Each exgId In exg_list
                            MsgBox(NCTS_OUT.ncts_dyaAnmID)
                            cDakosyEXG.UPDATE_FillNCTS_ID(exgId, NCTS_OUT.ncts_dyaAnmID)
                        Next
                    End If

                    'Dim BezugsNr = ""


                    'Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004

                    'Dim f As New frmDakosyStammreferenz("DE", "NCTS", False,,, FIRMA_DY)
                    'Dim Stammreferenz = Nothing
                    'f.selectForEXG = True
                    'If f.ShowDialog(Me.FindForm) Then
                    '    Stammreferenz = f.STAMMREF
                    '    sentToDakosy = f.sentToDakosy
                    'End If
                    'Try

                    '    BezugsNr = usrCntlATLAS_NCTS004.getBezugsnr(FIRMA_DY, SENDUNG, BezugsNr, "")
                    '    lblBezugsnummer.Text = BezugsNr

                    '    MsgBox(BezugsNr)
                    'Catch ex As Exception
                    '    MsgBox(ex.Message & ex.StackTrace)
                    'End Try
                    'ncts_OUT = cDakosyNCTSOut004.LOADByBezugsNr(BezugsNr, True)
                    'If True Then 'NCTS_OUT Is Nothing Then

                    '    Dim cDy_ART = "T2"
                    '    Select Case (SENDUNG.tblSnd_Abfertigungsart_ID)
                    '        Case 5 : cDy_ART = "T1"
                    '        Case Else : cDy_ART = "T2"
                    '    End Select


                    '    Dim DY_ANM As New cDakosy_Zollanmeldungen
                    '    If DY_ANM Is Nothing Then
                    '        DY_ANM = New cDakosy_Zollanmeldungen(NCTS_OUT.ncts_dyaAnmID)
                    '    End If
                    '    DY_ANM.dy_ART = cDy_ART 'cDy_ART
                    '    DY_ANM.dy_BezugsNr = BezugsNr
                    '    DY_ANM.dy_AvisoId = If(AVISO Is Nothing, Nothing, AVISO.AvisoID)
                    '    DY_ANM.dy_SendungsId = If(SENDUNG Is Nothing, Nothing, SENDUNG.tblSnd_SendungID)
                    '    'Status?
                    '    If DY_ANM.SAVE() Then 'Speichern, ID wird erzeugt  


                    '        'Falls zur BezugsNr schon ein Eintrag in der DB vorhanden ist
                    '        NCTS_OUT = cDakosyNCTSOut004.LOADByAnmIDFull(f.STAMMREF_DYID, True) ' DyID --> Falls bei der Stammreferenz eine Vorlage hinterlegt ist!
                    '        If NCTS_OUT Is Nothing Then
                    '            NCTS_OUT = New cDakosyNCTSOut004
                    '        End If

                    '        NCTS_OUT.ncts_Id = -1
                    '        NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id

                    '        'If NCTS_OUT IsNot Nothing Then
                    '        '    'Stmmreferenz - Werte zurücksetzen, damit nicht falsch übergeben
                    '        '    NCTS_OUT.ncts_dyaAnmID = -1
                    '        '    NCTS_OUT.ncts_Id = -1
                    '        'Else
                    '        '    NCTS_OUT = New cDakosyNCTSOut004
                    '        'End If


                    '        usrCntlATLAS_NCTS004.loaddataFromAVISO(AVISO, SENDUNG, cDy_ART, BezugsNr, NCTS_OUT)
                    '        'cboStammreferenz.changeItem(Stammreferenz)

                    '        If NCTS_OUT.SAVE() Then
                    '            MsgBox("Eine neue Versandanmeldung mit der BezugsNummer '" & BezugsNr & "' wurde erstellt. Befüllung wird bei Gestellvorgang automatisch vorgenommen.")

                    '            For Each exgId In exg_list
                    '                MsgBox(NCTS_OUT.ncts_dyaAnmID)
                    '                cDakosyEXG.UPDATE_FillNCTS_ID(exgId, NCTS_OUT.ncts_dyaAnmID)
                    '            Next
                    '        End If


                    '    End If


                    'End If
                    ''ncts_OUT




                End If
            End If
            Me.FindForm.Close()
        End If

            Me.Cursor = Cursors.Default
    End Sub

    Function sendEXP_MRN(MRN As String, Zollstelle As String, zeile As String, ByRef exg_list As List(Of Integer)) As Boolean

        Me.Refresh()

        '  Dim cDyAnm As New cDakosy_Zollanmeldungen(cDy_ART, BezugsNr, AVISO.AvisoID, SENDUNG.tblSnd_SendungID)
        'loadDYZollanmeldungen()
        Dim dy_Id = -1
        If True Then
            ''Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB)
            'ncts_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
            'ncts_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
            'ncts_OUT.ncts_LetzteBearbeitung = Now
            'ncts_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
            'ncts_OUT.ncts_firma = Me.FIRMA_DY
            ' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_003(ncts_OUT, Me, DY_ANM, Me.FIRMA_DY)

            Dim EXG As New DAKOSY_Worker.cDakosyEXG
            EXG.exg_MRN = MRN
            EXG.exg_CustomsOfficeOfExitForTransitDeclared = Zollstelle
            '  dim FilialenNr

            Dim zusatz = ""
            If TextBox1.Text <> "" Then zusatz = "/" & TextBox1.Text


            EXG.exg_ObjectName = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr & "_EXG" & zeile & "" & zusatz  '---> >>> MRN KÜRZEN!!!!

            'EXG.exg_ObjectName = AVISO.AvisoID & "_EXP_" & EXG.exg_MRN.ToString().Substring(0, 4) & EXG.exg_MRN.ToString.Substring(14) & zusatz  '---> >>> MRN KÜRZEN!!!!
            'EXG.exg_ObjectName = AVISO.AvisoID & "_EXP_" & EXG.exg_MRN 

            Dim FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
            FIRMA_DY = DAKOSY_Worker.cDakosyFunftions.getFirma_DY(SENDUNG.FilialenNr, Me.FindForm, "EXG")
            Dim saveFile = ""

            If EXG.SAVE_ALL Then
                exg_list.Add(EXG.exg_Id)

                If generatePresentationEXITDE_003(EXG, AVISO, SENDUNG, EXG.exg_ObjectName, saveFile, cboDakosyAction._value, FIRMA_DY, cboStammreferenz._value) Then
                    If saveFile <> "" Then
                        If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, lblBezugsnummer.Text, dy_Id, FIRMA_DY) Then
                            'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
                            If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen.
                            Return True
                        Else
                            'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
                            Return False
                        End If
                    End If
                End If

            End If
        End If


        ' DY_ANM.UPDATE_DATA()

        'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist.
        ' DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)


        Return False

    End Function




    Shared Function generatePresentationEXITDE_003(EXG As DAKOSY_Worker.cDakosyEXG, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SND As VERAG_PROG_ALLGEMEIN.cSendungen, ByVal Bezugsnummer As String, ByRef saveFile As String, DY_ACTION As String, FIRMA_DY As String, Optional BezugsnummerVorblendung As String = "") As Boolean
        Dim Interface_VERSION = "003"
        Dim ObjectAktion = DY_ACTION
        ' Dim BezugsnummerVorblendung = "AA_NCTS_DE_ZE_WO_MITTICH"

        Dim XML As New DAKOSY_Worker.PresentationEXITDE.GestellungXPTyp


        If Bezugsnummer.Length > 22 Then
            Bezugsnummer = Bezugsnummer.Substring(0, 22)
        End If
        'Transaktion:
        XML.Transaktion = New PresentationEXITDE.TransaktionExportTyp
        XML.Transaktion.IOPartner = SDL.DAKOSY_Interface_SEND.getIOPartner(FIRMA_DY) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG")
        XML.Transaktion.IODatumZeit = Now
        XML.Transaktion.IOReferenz = SND.FilialenNr & "-" & SND.AbfertigungsNr & "_" & Now.ToString("ddMMyyHHmmSS")
        If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM And XML.Transaktion.IOPartner <> "UNAT" Then
            XML.Transaktion.IODivision3 = SDL.DAKOSY_Interface_SEND.getDivision(FIRMA_DY) '"SUW"
        End If
        XML.Transaktion.Version = Interface_VERSION

        Dim XML_EG = New PresentationEXITDE.EinzelGestellungTyp
        'ObjektIdentifizierung:
        XML_EG.ObjektIdentifizierung.ObjektName = Bezugsnummer

        'If Bezugsnummer IsNot Nothing Then XML_EG.ObjektIdentifizierung.ObjektAliasname = Bezugsnummer
        Dim ObjektAktionLst As New List(Of String)
        If ObjectAktion = "SEND" Then
            ObjektAktionLst.Add("CREATE")
        End If
        ObjektAktionLst.Add(ObjectAktion)
        XML_EG.ObjektIdentifizierung.ObjektAktion = ObjektAktionLst
        If If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "") <> "" Then XML_EG.ObjektIdentifizierung.Bearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB

        If BezugsnummerVorblendung IsNot Nothing AndAlso BezugsnummerVorblendung <> "" Then XML_EG.ObjektIdentifizierung.BezugsnummerVorblendung = BezugsnummerVorblendung

        'TransitOperation:
        XML_EG.HeaderData = New PresentationEXITDE.KopfDatenGestellungTyp
        XML_EG.HeaderData.MRN = EXG.exg_MRN
        XML_EG.HeaderData.ArrivalNotificationDateAndTime = Now

        XML_EG.HeaderData.ExitCarrier.ContactPerson.Name = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
        If If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_telefonnr, "") <> "" Then
            XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_telefonnr
        Else
            Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
                Case "UNISPED"
                    XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = "0043771126770"
                Case "AMBAR"
                    XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = "004986519962492"
                Case "IMEX"
                    XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = "00437711 31630"
                Case "ATILLA"
                    XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = "0043771128450"
                Case Else
                    XML_EG.HeaderData.ExitCarrier.ContactPerson.PhoneNumber = "004377112777200"
            End Select
        End If



        XML_EG.HeaderData.CustomsOfficeOfExitActual = EXG.exg_CustomsOfficeOfExitForTransitDeclared
        'If cDY.ncts_CountryOfDispatch IsNot Nothing Then XML.EinzelEingangsanzeige.TransitOperation.CustomsOfficeOfDestinationActual = cDY.ncts_CountryOfDispatch
        'If SND.tblSnd_ATB_T1 IsNot Nothing Then XML.EinzelEingangsanzeige.TransitOperation.MRN = SND.tblSnd_ATB_T1
        'XML.EinzelEingangsanzeige.TransitOperation.ArrivalNotificationDateAndTime = Now

        'XML.EinzelEingangsanzeige.TransitOperation.IncidentFlag = "N"

        XML.DeclarationData.Add(XML_EG)


        ' Dim saveDir = System.Reflection.Assembly.GetExecutingAssembly().Location & "\Dakosy_SEND\"

        Dim saveDir = Application.StartupPath & "\Dakosy_SEND\"
        If Not System.IO.Directory.Exists(saveDir) Then
            System.IO.Directory.CreateDirectory(saveDir)
        End If

        saveFile = saveDir & "DY_EXG_" & Now.ToString("yyMMdd_HHmmss_fff") & ".xml"

        XML.SaveToFile(saveFile)

        'SDL.DAKOSY_Interface_SEND.replaceNullDateXML(saveFile)

        Return True
    End Function




    Public Function IsValidMRN(mrn As String) As Boolean
        '' Überprüfen, ob die Länge genau 18 Zeichen beträgt
        'If String.IsNullOrEmpty(mrn) OrElse mrn.Length <> 18 Then
        '    Return False
        'End If

        '' Überprüfen, ob die ersten zwei Zeichen Buchstaben sind (Ländercode)
        'If Not Char.IsLetter(mrn(0)) OrElse Not Char.IsLetter(mrn(1)) Then
        '    Return False
        'End If

        '' Überprüfen, ob die nächsten zwei Zeichen Ziffern sind (Jahreszahl)
        'If Not Char.IsDigit(mrn(2)) OrElse Not Char.IsDigit(mrn(3)) Then
        '    Return False
        'End If

        '' Überprüfen, ob die nächsten 12 Zeichen alphanumerisch sind
        'For i As Integer = 4 To 15
        '    If Not Char.IsLetterOrDigit(mrn(i)) Then
        '        Return False
        '    End If
        'Next

        '' Überprüfen, ob die letzten zwei Zeichen Prüfziffern sind (optional, falls komplexere Prüfung erforderlich)
        'For i As Integer = 16 To 17
        '    If Not Char.IsDigit(mrn(i)) Then
        '        Return False
        '    End If
        'Next

        '' Alle Prüfungen bestanden
        'Return True

        ' Überprüfen, ob die Länge genau 18 Zeichen beträgt
        If String.IsNullOrEmpty(mrn) OrElse mrn.Length <> 18 Then
            Return False
        End If

        ' Überprüfen, ob die ersten zwei Zeichen Ziffern sind (Jahreszahl)
        If Not Char.IsDigit(mrn(0)) OrElse Not Char.IsDigit(mrn(1)) Then
            Return False
        End If

        ' Überprüfen, ob die nächsten zwei Zeichen Buchstaben sind (Ländercode)
        If Not Char.IsLetter(mrn(2)) OrElse Not Char.IsLetter(mrn(3)) Then
            Return False
        End If

        '' Überprüfen, ob die nächsten 12 Zeichen alphanumerisch sind
        'For i As Integer = 4 To 15
        '    If Not Char.IsLetterOrDigit(mrn(i)) Then
        '        Return False
        '    End If
        'Next

        '' Überprüfen, ob die letzten zwei Zeichen Ziffern sind (Prüfziffern)
        'For i As Integer = 16 To 17
        '    If Not Char.IsDigit(mrn(i)) Then
        '        Return False
        '    End If
        'Next
        Return True
    End Function

    Private Sub cbxNCTS_CheckedChanged(sender As Object, e As EventArgs) Handles cbxNCTS.CheckedChanged
        MyPanel1.Enabled = cbxNCTS.Checked
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        FIRMA_DY = Button2.Text
        initStammref()



        If Button2.Text = "UNISPED" Then
            Button2.Text = "ATILLA"
        Else
            Button2.Text = "UNISPED"
        End If
    End Sub
End Class

