Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN



Public Class frmFaktEmail

    Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang
    Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
    Dim FUNC As New cProgramFunctions
    Dim printOriginalRg As Object = Nothing
    Dim ATTACHMENTS As New List(Of cFakt_MailATTach)
    Dim SR_List As List(Of cFakt_SR_List) = Nothing
    Dim SR_DT As DataTable = Nothing

    Dim Firma_ID As Integer
    Dim SammelrechungArt As Integer
    Dim KdNr As Integer
    Dim DatumBis As Date
    Dim Rechnungsdatum = Nothing
    Dim SB As String
    Dim Rechnungsdruck As Integer = 3

    Dim EinzelAnlagen As Boolean
    Dim Sammelbericht As Boolean
    Dim xlsEvolog As Boolean
    Dim xlsTransFerry As Boolean
    Dim RechnungsNr As Integer
    Dim FakturierungsGruppe As String
    Dim Abfertigungsart As String
    Dim DruckDatumZeit As DateTime
    Dim AvisoIds As List(Of Integer)

    Dim SR = False
    Sub New(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, printOriginalRg As Object, Rechnungsdruck As Integer, Optional Rechnungsdatum As Object = Nothing)

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()

        Me.RECHNUNG = RECHNUNG
        Me.Firma_ID = Firma_ID
        Me.SPEDBUCH = SPEDBUCH
        Me.printOriginalRg = printOriginalRg
        Me.KdNr = RECHNUNG.RechnungsKundenNr
        Me.Rechnungsdruck = Rechnungsdruck
        If Rechnungsdatum IsNot Nothing Then Me.Rechnungsdatum = CDate(Rechnungsdatum)
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
        'McDull.Windows.Forms.HTMLTextBox
    End Sub


    Sub New(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Rechnungsdruck As Integer, Optional EinzelAnlagen As Boolean = True, Optional Sammelbericht As Boolean = True, Optional KdNr As Integer = -1, Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, Optional AvisoIds As List(Of Integer) = Nothing, Optional xlsEvolog As Boolean = False, Optional xlsTransFerry As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional printRgCopy As Boolean = False)
        '(Firma_ID As Integer, SammelrechungArt As Integer, KdNr As Integer, DatumBis As Date, SB As String, EinzelAnlagen As Boolean, Sammelbericht As Boolean) 'Sammelrechnung

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()

        Me.SR_DT = cFakturierung.GET_SR_SQLDT(Firma_ID, SammelrechungArt, DatumBis, KdNr, SB, AvisoIds, FakturierungsGruppe, Abfertigungsart) 'SQL.loadDgvBySql(sqlStr, "FMZOLL")
        Me.Firma_ID = Firma_ID
        Me.SammelrechungArt = SammelrechungArt
        Me.DatumBis = DatumBis
        Me.SB = SB
        Me.EinzelAnlagen = EinzelAnlagen
        Me.Sammelbericht = Sammelbericht
        Me.xlsEvolog = xlsEvolog
        Me.xlsTransFerry = xlsTransFerry
        Me.KdNr = KdNr
        Me.Rechnungsdatum = Rechnungsdatum
        Me.RechnungsNr = lastAktuelle_RgNr
        Me.FakturierungsGruppe = FakturierungsGruppe
        Me.Abfertigungsart = Abfertigungsart
        Me.AvisoIds = AvisoIds
        Me.Rechnungsdruck = Rechnungsdruck
        SR = True
    End Sub




    Private Sub frmFaktEmail_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Select Case RECHNUNG.RechnungsLandKz
        '    Case "TR"
        '        txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
        '        TextHTML = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
        '        TextHTML &= "<br><br><br>Saygilarimizla<br><br>" & cFakturierung.getSignature(RECHNUNG)
        '    Case "A", "AT", "D", "DE", "CH"
        '        txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
        '        TextHTML = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
        '        TextHTML &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & cFakturierung.getSignature(RECHNUNG)
        '    Case Else
        '        txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
        '        TextHTML = "Sehr geehrte Damen und Herren,<br><br>attached we send you the invoice mentioned above."
        '        TextHTML &= "<br><br><br>Best regards<br><br>" & cFakturierung.getSignature(RECHNUNG)
        'End Select

        cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
        cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN"))
        cboFaStb_Sprache.changeItem("DE")

        cProgramFunctions.initDrucker(cboPrinter)
        Select Case Rechnungsdruck
            Case 5 : cbxRgKopieDrucken.Checked = True
        End Select

        Dim AD As VERAG_PROG_ALLGEMEIN.cAdressen
        Dim FISKAL As cFiskal_Daten = Nothing


        cbxExcelEvolog.Checked = xlsEvolog
        cbxTransFerry.Checked = xlsTransFerry


        If SR Then
            AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
            FISKAL = New cFiskal_Daten(KdNr)
            setMailText(AD.LandKz)
            initList()
            cbxStb.Enabled = True : cbxStb.Checked = True
            cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True
            cbxVBD.Enabled = True : cbxVBD.Checked = True
            cbxOriginalPrint.Visible = False
        Else
            setMailText(RECHNUNG.RechnungsLandKz)

            initRowSpedbuch(SPEDBUCH)

            If SPEDBUCH.DokumentId_Steuerbeleg Then cbxStb.Enabled = True : cbxStb.Checked = True
            If SPEDBUCH.DokumentId_Mitteilung Then cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True
            If SPEDBUCH.DokumentId_VBD Then cbxVBD.Enabled = True : cbxVBD.Checked = True
            ' wbShowHTML(WebBrowser, cFakturierung.getSignature(RECHNUNG))





            AD = New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
            FISKAL = New cFiskal_Daten(RECHNUNG.RechnungsKundenNr)

            If printOriginalRg Is Nothing Then
                cbxOriginalPrint.Visible = False
            Else
                cbxOriginalPrint.Visible = True
                cbxOriginalPrint.Checked = CBool(printOriginalRg)
            End If


        End If

        If AD.AdressenNr = 1001688 Then cbxExcelEvolog.Checked = True 'EVOLOG
        If AD.AdressenNr = 800020 Then cbxTransFerry.Checked = True 'TRANS FERRY 360

        If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then lkl.Text = """" & AD.E_Mail & """ anfügen" : lkl.Tag = AD.E_Mail
        lblKunde.Text = AD.AdressenNr & " - " & AD.Ordnungsbegriff

        Dim email_receipt As String = ""
        If SR Then
            Dim allAtilla = IIf(Firma_ID = 7, True, False)
            If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
                For Each r In SR_DT.Rows
                    If "4801" <> r("FilialenNr") And "4802" <> r("FilialenNr") Then
                        allAtilla = False
                        Exit For
                    End If
                Next
            End If
            email_receipt = IIf(allAtilla, VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)"), "")
        Else
            If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)")
        End If


        Dim EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an")
        If EMAILTMP <> "" Then dgvEmail.Rows.Add(EMAILTMP)
        Dim EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
        If EMAILTMPCC <> "" Then dgvEmailCC.Rows.Add(EMAILTMPCC)
        Dim EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
        If EMAILTMPBCC <> "" Then dgvEmailBCC.Rows.Add(EMAILTMPBCC)

        initDGVAnhaenge()

        If FISKAL IsNot Nothing AndAlso SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart IsNot Nothing AndAlso IsNumeric(SPEDBUCH.Abfertigungsart) AndAlso (SPEDBUCH.Abfertigungsart = 26 Or SPEDBUCH.Abfertigungsart = 28) AndAlso (SPEDBUCH.FilialenNr = 4805 Or SPEDBUCH.FilialenNr = 4811) Then 'Prüfung 
            cbxSteuerberaterEmail.Checked = (If(FISKAL.fisk_schreibenSB_Mail, "") <> "")
            txtSteuerberaterEmail.Text = If(FISKAL.fisk_schreibenSB_Mail, "")
            cbxFAEmail.Checked = (If(FISKAL.fisk_schreibenFA_Mail, "") <> "")
            txtFAEmail.Text = If(FISKAL.fisk_schreibenFA_Mail, "")
        End If
    End Sub

    Private Sub wbShowHTML(ByVal WebBrowser As WebBrowser, ByVal HtmlText As String)
        Try

            With WebBrowser
                If IsNothing(.Url) OrElse .Url.AbsoluteUri <> "about:blank" Then
                    ' zunächst eine leere Seite laden
                    .Navigate("about:blank")
                    Application.DoEvents()
                End If

                ' HTML-Textstring in das WebBrowser-Control schreiben
                '  .Document.Body.InnerHtml = HtmlText
            End With

        Catch ex As Exception
            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
        End Try
    End Sub

    Function getRgNr(RechnungsNr As Integer) As String
        If RechnungsNr <= 0 Then Return "%RgNr%"
        Return RechnungsNr
    End Function

    Sub setMailText(RechnungsLandKz)
        Select Case RechnungsLandKz
            Case "A", "AT", "D", "DE", "CH" : cboFaStb_Sprache.changeItem("DE")
            Case Else : cboFaStb_Sprache.changeItem("EN")
        End Select

        Dim txtRgNr = ""
        Dim BelegartenNr = "70"

        Try
            If SR Then
                txtRgNr = getRgNr(RechnungsNr)
                If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
                    BelegartenNr = SR_DT.Rows(0)("BelegartenNr")
                    For Each r In SR_DT.Rows
                        If BelegartenNr <> r("BelegartenNr") Then BelegartenNr = "70" : Exit For 'Im Zweifel 70
                    Next
                End If
            Else
                txtRgNr = getRgNr(If(RECHNUNG.RechnungsNr, -1))
                BelegartenNr = RECHNUNG.BelegartenNr
            End If

        Catch ex As Exception
            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
        End Try

        Dim TextHTMLADD = ""
        'ZF-Passau + Konsilager
        If SPEDBUCH IsNot Nothing Then
            If (RECHNUNG.RechnungsKundenNr = 714869 Or RECHNUNG.RechnungsKundenNr = 715417) And (SPEDBUCH.Abfertigungsart = 39 Or SPEDBUCH.Abfertigungsart = 1) Then
                If Not SR Then TextHTMLADD = addRgData_ZF_Passau(RechnungsLandKz)
            End If
        End If

        'Parsan  
        If SPEDBUCH IsNot Nothing Then
            If (RECHNUNG.RechnungsKundenNr = 712814) Then
                If Not SR Then TextHTMLADD = addRgData_Parsan(RechnungsLandKz)
            End If
        End If


        Dim TextHTML = ""
        Select Case RechnungsLandKz
            Case "TR"
                txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura  Nr. ") & txtRgNr
                TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz."
                TextHTML &= TextHTMLADD
                TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & ""
            Case "A", "AT", "D", "DE", "CH"
                txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr
                TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).")
                TextHTML &= TextHTMLADD
                TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & ""
            Case Else
                txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
                TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the invoice mentioned above."
                TextHTML &= TextHTMLADD
                TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
        End Select
        RichTextBox.Text = TextHTML


    End Sub

    Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
        Dim abfNr = ""

        Dim additionalLine = ""

        If SR Then
            Try
                If RechnungsNr > 1 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then

                    If FakturierungsGruppe <> "" Then
                        additionalLine = "Abrechnungsstelle: " & FakturierungsGruppe.Replace("WAI", "Waidhaus")
                    End If

                    VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("Zusammenfassung")
                    Dim listPDFs As New List(Of String)
                    Dim SonstAnlagen As New List(Of String)
                    Dim lastAktuelle_RgNr As Integer = -1
                    'Rechnung erstellen:
                    '-----------------------------------------------------------------
                    Dim RechnungsNrisSet As Boolean = False
                    Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
                    If RechnungsNr <= 0 Then
                        RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(Firma_ID, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart)
                        RechnungsNr = lastAktuelle_RgNr
                    Else
                        Dim path = ""
                        cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RechnungsNr, -1, -1, DruckDatumZeit, "", False, , 4, path, True,, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked)

                        lastAktuelle_RgNr = RechnungsNr
                        listPDFs.Add(path)
                    End If

                    If Not RechnungsNrisSet Then 'Abbruch bei fehlender RE-Nr
                        Exit Sub
                    End If

                    If cbxRgKopieDrucken.Checked Then
                        'KOPIE DRUCK
                        Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
                        Dim RK_ID = sql.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & RechnungsNr & "' AND Firma_ID='" & Firma_ID & "' ORDER BY DruckDatumZeit DESC", "FMZOLL")
                        Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID)
                        If RG_TMP IsNot Nothing Then
                            cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, cboPrinter.Text, False, , 3,, True)
                        End If
                    End If

                    Dim outl As New Outlook.Application

                    Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
                    Mail = outl.CreateItem(0)
                    Mail.Subject = txtSubject.Text

                    If Firma_ID = 24 Then
                        Try
                            Dim oAccount As Outlook.Account
                            Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)


                            If outl.Session.Accounts.Count > 0 Then
                                For Each oAccount In outl.Session.Accounts
                                    If oAccount.SmtpAddress = accountToSent Then
                                        Mail.SendUsingAccount = oAccount
                                        Exit For
                                    End If
                                Next
                            End If
                        Catch ex As Exception
                            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
                        End Try

                    End If

                    'Mail-Adressen eintragen
                    '-----------------------------------------------------------------
                    For Each r In dgvEmail.Rows
                        If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
                    Next
                    For Each r In dgvEmailCC.Rows
                        If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
                    Next
                    For Each r In dgvEmailBCC.Rows
                        If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
                    Next


                    RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
                    txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr)


                    Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "</div>"

                    Mail.HTMLBody = TextHTML
                    Mail.Subject = txtSubject.Text

                    ATTACHMENTS.Clear()
                    '-----------------------------------------------------------------
                    'Rechnungen anfügen
                    '-----------------------------------------------------------------
                    For Each l In listPDFs
                        '    Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
                        ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
                    Next
                    For Each l In SonstAnlagen
                        '    Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
                        ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
                    Next
                    addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)

                    '-----------------------------------------------------------------
                    'Steuerbescheid/VDB anfügen
                    '-----------------------------------------------------------------
                    getAnhaenge()
                    'For Each l In listPDFs
                    '    '    Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
                    '    ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
                    'Next 

                    'Rechnungsanhänge anfügen
                    '-----------------------------------------------------------------
                    If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
                        For Each r In SR_DT.Rows
                            Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
                            If RG_ANH IsNot Nothing Then
                                For Each ANH In RG_ANH
                                    ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
                                Next
                            End If
                        Next
                    End If
                    '-----------------------------------------------------------------


                    addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked)

                    If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
                        Try
                            Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de"
                        Catch ex2 As Exception
                            MsgBox(ex2.Message)
                        End Try
                    End If

                    Mail.Display()
                    '------------------------------------------------------------------------------------------
                    ' STB  /FA   SR: ABFRAGE FISKAL-VZ 
                    If isFiskal Then
                        send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
                    End If
                    '------------------------------------------------------------------------------------------

                End If
            Catch ex As Exception
                VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
                'Process.Start(a)
            End Try

        Else 'ER

            If RECHNUNG.FakturierungsGruppe <> "" Then
                additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus")
            End If

            If RECHNUNG.Status <> 0 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang  erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then
                abfNr = " Pos-Nr.: " & RECHNUNG.FilialenNr & "-" & RECHNUNG.AbfertigungsNr & "-" & RECHNUNG.SpeditionsbuchUnterNr



                Try
                    Dim outl As New Outlook.Application
                    Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
                    Mail = outl.CreateItem(0)

                    If Firma_ID = 24 Then
                        Try
                            Dim oAccount As Outlook.Account
                            Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)


                            If outl.Session.Accounts.Count > 0 Then
                                For Each oAccount In outl.Session.Accounts
                                    If oAccount.SmtpAddress = accountToSent Then
                                        Mail.SendUsingAccount = oAccount
                                        Exit For
                                    End If
                                Next
                            End If
                        Catch ex As Exception
                            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
                        End Try

                    End If

                    'Mail-Adressen eintragen
                    '-----------------------------------------------------------------
                    For Each r In dgvEmail.Rows
                        If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
                    Next
                    For Each r In dgvEmailCC.Rows
                        If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
                    Next
                    For Each r In dgvEmailBCC.Rows
                        If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
                    Next

                    'Rechnung erstellen:
                    '-----------------------------------------------------------------
                    Dim pathRG = ""

                    If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then
                        Exit Sub
                    End If

                    'If Not RECHNUNG.checkRechnungsNrIsSet() Then
                    '    MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
                    '    Exit Sub
                    'End If

                    RechnungsNr = RECHNUNG.RechnungsNr

                    If cbxRgKopieDrucken.Checked Then
                        'KOPIE DRUCK
                        cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False)
                    End If

                    If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf")))


                    RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", RechnungsNr)
                    txtSubject.Text = txtSubject.Text.Replace("%RgNr%", RechnungsNr) & abfNr


                    Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "</div>"

                    Mail.HTMLBody = TextHTML
                    Mail.Subject = txtSubject.Text

                    ' Mail.HTMLBody = Mail.HTMLBody.Replace("%RgNr%", RECHNUNG.RechnungsNr)
                    ' Mail.Subject = Mail.Subject.Replace("%RgNr%", RECHNUNG.RechnungsNr & abfNr)

                    '-----------------------------------------------------------------

                    'Steuerbescheid/VDB anfügen
                    '-----------------------------------------------------------------
                    getAnhaengeSingle()
                    '-----------------------------------------------------------------

                    'Rechnungsanhänge anfügen
                    '-----------------------------------------------------------------
                    RECHNUNG.LOAD_ANHAENGE()
                    For Each ANH In RECHNUNG.ANHAENGE
                        ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
                    Next
                    '-----------------------------------------------------------------

                    'Anhang an Mail anfügen
                    '-----------------------------------------------------------------
                    addAttachments(Mail, RECHNUNG.RechnungsNr, cbxMergePDF.Checked)
                    '-----------------------------------------------------------------


                    If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
                        Try
                            Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de"
                        Catch ex2 As Exception
                            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex2.Message, ex2.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
                        End Try
                    End If


                    Mail.Display()

                    '------------------------------------------------------------------------------------------
                    ' STB  /FA
                    send_StbFAMail(RECHNUNG.RechnungsKundenNr, " Rg-Nr.: " & RechnungsNr & abfNr, RECHNUNG.RechnungsNr)
                    '------------------------------------------------------------------------------------------

                Catch ex As Exception
                    VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
                    'Process.Start(a)
                End Try

            End If
        End If


        ATTACHMENTS.Clear()


    End Sub


    Function addRgData_ZF_Passau(RechnungsLandKz) As String
        addRgData_ZF_Passau = vbNewLine & vbNewLine
        Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung

        Select Case RechnungsLandKz
            Case "TR"
                addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
            Case "A", "AT", "D", "DE", "CH"
                addRgData_ZF_Passau &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_ZF_Passau &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_ZF_Passau &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
            Case Else
                addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
        End Select

        ' addRgData_ZF_Passau = RichTextBox.Text.Replace("Mit freundlichen Grüßen", "")


    End Function
    Function addRgData_Parsan(RechnungsLandKz) As String
        addRgData_Parsan = vbNewLine & vbNewLine
        Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung

        Select Case RechnungsLandKz
            Case "TR"
                ' addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
            Case "A", "AT", "D", "DE", "CH"
                ' addRgData_Parsan &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_Parsan &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_Parsan &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
            Case Else
                'addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
                If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then
                    addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
                    addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
                End If
        End Select



    End Function

    Sub send_StbFAMail(KundenNr, RgAbfNr, RechnungsNr)
        Try

            Dim additionalLine = ""
            If RECHNUNG IsNot Nothing AndAlso RECHNUNG.FakturierungsGruppe IsNot Nothing AndAlso RECHNUNG.FakturierungsGruppe <> "" Then
                additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus")
            End If

            Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KundenNr)
            Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(KundenNr)

            If cbxSteuerberaterEmail.Checked Or cbxFAEmail.Checked Then

                Dim outl As New Outlook.Application
                Dim Mail_StbFA As Microsoft.Office.Interop.Outlook.MailItem
                Mail_StbFA = outl.CreateItem(0)
                Mail_StbFA.Subject = txtSubject.Text

                If Firma_ID = 24 Then Mail_StbFA.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR",, True)


                Dim TextHTML = "<div style=""font-family:Calibri, Arial"">"

                Select Case cboFaStb_Sprache._value
                    Case "DE"

                        TextHTML &= "<b><table style=""font-family:Calibri, Arial;font-weight:bold"">"
                        TextHTML &= "<tr><td>EORI-Nr.:</td><td>" & If(KD.EORITIN, "") & "</td></tr>"
                        TextHTML &= "<tr><td>UID-Nr.:</td><td>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</td></tr>"
                        TextHTML &= "<tr><td>Firma:</td><td>" & If(AD.Name_1, "") & If(AD.Name_2, "") & "</td></tr>"
                        TextHTML &= "<tr><td></td><td>" & If(AD.Straße, "") & "</td></tr>"
                        TextHTML &= "<tr><td></td><td>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "</td></tr>"
                        TextHTML &= "</table></b>"
                        TextHTML &= "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "Sehr geehrte Damen & Herren!" & "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "Wir teilen Ihnen mit, dass wir für oben genanntes Unternehmen eine Zollabfertigung mit anschließender" & "<br>"
                        TextHTML &= "innergemeinschaftlicher Lieferung (Verfahren 4200) lt. beiliegenden Unterlagen durchgeführt haben." & "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "Dies muss dem Finanzamt als ""innergemeinschaftlicher Erwerb"" gemeldet werden." & "<br>"
                        TextHTML &= "<br><br>"
                        TextHTML &= "Freundliche Grüße"
                        TextHTML &= "<br><br>"

                    Case "EN"

                        TextHTML &= "<b><table style=""font-family:Calibri, Arial;font-weight:bold"">"
                        TextHTML &= "<tr><td>EORI-Nr.:</td><td>" & If(KD.EORITIN, "") & "</td></tr>"
                        TextHTML &= "<tr><td>VAT-ID.:</td><td>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</td></tr>"
                        TextHTML &= "<tr><td>Company:</td><td>" & If(AD.Name_1, "") & If(AD.Name_2, "") & "</td></tr>"
                        TextHTML &= "<tr><td></td><td>" & If(AD.Straße, "") & "</td></tr>"
                        TextHTML &= "<tr><td></td><td>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "</td></tr>"
                        TextHTML &= "</table></b>"
                        TextHTML &= "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "Dear Sir or Madam!" & "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "We would like to inform you, that we made the customs clearance and subsequent intra-community supply of goods for the company above-mentioned (Code 4200).<br>"
                        TextHTML &= "The documents are attached." & "<br>"
                        TextHTML &= "<br>"
                        TextHTML &= "This intra-community acquisition has to be reported to the tax office." & "<br>"
                        TextHTML &= "<br><br>"
                        TextHTML &= "Yours faithfully,"
                        TextHTML &= "<br><br>"

                End Select

                TextHTML &= cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine)
                TextHTML &= "</div>"

                Mail_StbFA.HTMLBody = TextHTML
                Mail_StbFA.Subject = "Meldung innergemeinschaftlicher Erwerb - " & AD.Ordnungsbegriff & RgAbfNr

                If txtSteuerberaterEmail.Text <> "" Then
                    Mail_StbFA.To = txtSteuerberaterEmail.Text
                    Mail_StbFA.CC = txtFAEmail.Text
                Else
                    Mail_StbFA.To = txtFAEmail.Text
                End If

                '-----------------------------------------------------------------
                'Steuerbescheid anfügen
                '-----------------------------------------------------------------
                getAnhaenge(False)

                'Anhang an Mail anfügen
                '-----------------------------------------------------------------
                addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked)
                '-----------------------------------------------------------------

                Mail_StbFA.Display()
            End If

        Catch ex As Exception
            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes (STB FA). " & vbNewLine & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
        End Try
    End Sub

    Sub getAnhaenge(Optional vbd As Boolean = True)

        ATTACHMENTS.Clear()
        For Each r As DataGridViewRow In MyDatagridview1.Rows
            Dim bez = r.Cells(0).Value.replace("/", "-")
            If cbxStbMitt.Checked Then 'AT
                If cbxStbMitt.Checked And IsNumeric(r.Cells("clmnMitt_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnMitt_docID").Value), bez & "_Abgabenbescheid.pdf"))
                If cbxStb.Checked And IsNumeric(r.Cells("clmnStb_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnStb_docID").Value), bez & "_Verzollungsnachweis.pdf"))
            Else 'DE
                If cbxStb.Checked And IsNumeric(r.Cells("clmnStb_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnStb_docID").Value), bez & "_Steuerbescheid.pdf"))
            End If
            If vbd Then
                If cbxVBD.Checked And IsNumeric(r.Cells("clmnVBD_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnVBD_docID").Value), bez & "_Versandschein.pdf"))
            End If
        Next
    End Sub
    Sub getAnhaengeSingle()
        If cbxStbMitt.Checked Then 'AT
            If cbxStbMitt.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Abgabenbescheid.pdf"))
            If cbxStb.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf"))
        Else 'DE
            If cbxStb.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf"))
        End If
        If cbxVBD.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Versandschein.pdf"))

    End Sub



    Sub addAttachments(ByRef Mail As Microsoft.Office.Interop.Outlook.MailItem, RgNr As Integer, MergePDF As Boolean)
        If ATTACHMENTS.Count = 0 Then Exit Sub
        Try

            If MergePDF And ATTACHMENTS.Count > 1 Then
                Dim extension = ".pdf"
                Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Rechnungs_Anhänge_" & RgNr & extension, extension,, False, "Zusammenfassung")

                Dim myList As New List(Of String)
                For Each a In ATTACHMENTS : myList.Add(a.Pfad) : Next

                If FormularManagerNEU.MergePdfFiles(myList, zielPfadZusammenfassung) Then
                    ATTACHMENTS.Clear() : ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, "")) '  überscheiben
                End If
            End If
            'Anhang an Mail anfügen
            '-----------------------------------------------------------------
            For Each a In ATTACHMENTS
                Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName)
            Next
            '-----------------------------------------------------------------

        Catch ex As Exception
            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
        End Try
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        setMailText("DE")
        '   cboFaStb_Sprache.changeItem("DE")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        setMailText("TR")
        ' cboFaStb_Sprache.changeItem("EN")
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        setMailText("EN")
        ' cboFaStb_Sprache.changeItem("EN")
    End Sub

    Private Sub lkl_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lkl.LinkClicked
        dgvEmail.Rows.Add(lkl.Tag)
    End Sub


    Private Sub dgvEmail_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEmail.Leave, dgvEmailCC.Leave, dgvEmailBCC.Leave
        sender.ClearSelection()
    End Sub

    Dim isFiskal = False
    Sub initList()
        MyDatagridview1.Rows.Clear()

        If SR_DT Is Nothing Then Exit Sub
        If SR_DT.Rows.Count = 0 Then Exit Sub

        For Each r In SR_DT.Rows 
            Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(r("FilialenNr"), r("AbfertigungsNr"), r("SpeditionsbuchUnterNr"))
            initRowSpedbuch(SPEDBUCH)
            If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart IsNot Nothing AndAlso IsNumeric(SPEDBUCH.Abfertigungsart) AndAlso (SPEDBUCH.Abfertigungsart = 26 Or SPEDBUCH.Abfertigungsart = 28) AndAlso (SPEDBUCH.FilialenNr = 4805 Or SPEDBUCH.FilialenNr = 4811) Then
                isFiskal = True
            End If
        Next
    End Sub


    Sub initRowSpedbuch(SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
        MyDatagridview1.Rows.Add(SPEDBUCH.FilialenNr & "-" & SPEDBUCH.AbfertigungsNr & "-" & SPEDBUCH.UnterNr, If(SPEDBUCH.DokumentId_Steuerbeleg, ""), If(SPEDBUCH.DokumentId_Mitteilung, ""), If(SPEDBUCH.DokumentId_VBD, ""), (SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_Steuerbeleg)), (SPEDBUCH.DokumentId_Mitteilung IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_Mitteilung)), (SPEDBUCH.DokumentId_VBD IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_VBD)))
    End Sub

    Private Sub lblKunde_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblKunde.LinkClicked
        FUNC.showKd(KdNr)
    End Sub

    Private Sub MyDatagridview1_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles MyDatagridview1.CellContentDoubleClick
        Dim docID = ""
        Select Case MyDatagridview1.Columns(e.ColumnIndex).Name
            Case "clmnStb" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnStb_docID").Value
            Case "mnMitt" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnMitt_docID").Value
            Case "clmnVBD" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnVBD_docID").Value
        End Select

        If docID <> "" Then
            Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(docID)
            DS.OPEN_SINGLE()
        End If
    End Sub

    Private Sub cbxSteuerberaterEmail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSteuerberaterEmail.CheckedChanged
        txtSteuerberaterEmail.Enabled = sender.checked
    End Sub

    Private Sub cbxFAEmail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxFAEmail.CheckedChanged
        txtFAEmail.Enabled = sender.checked
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        If KdNr <= 0 Then Exit Sub
        Dim FISKAL As New cFiskal_Daten(KdNr)
        FISKAL.fisk_schreibenSB_Mail = txtSteuerberaterEmail.Text
        FISKAL.fisk_schreibenFA_Mail = txtFAEmail.Text
        FISKAL.SAVE()
    End Sub

    Private Sub dgvAnhaenge_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick

        Try
            If dgvAnhaenge.SelectedRows.Count > 0 Then '  If e.RowIndex > 0 Then
                dgvAnhaenge.Rows(e.RowIndex).Selected = True
                Process.Start(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhaenge.SelectedRows(0).Cells("clmnDsId").Value))
            End If

        Catch ex As Exception
            VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
        End Try

    End Sub

    Sub initDGVAnhaenge()

        With dgvAnhaenge

            .Rows.Clear()
            .Enabled = True

            If SR Then
                .Enabled = False
                Exit Sub
            End If

            RECHNUNG.LOAD_ANHAENGE()

            If RECHNUNG IsNot Nothing AndAlso RECHNUNG.ANHAENGE IsNot Nothing Then
                '-----------------------------
                'ANHÄNGE  LADEN:
                '-----------------------------
                For Each RG_AH In RECHNUNG.ANHAENGE
                    .Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId)
                Next
                '-----------------------------

            End If

        End With
        dgvAnhaenge.ClearSelection()
    End Sub
End Class


Public Class cFakt_MailATTach
    Property Pfad
    Property MailName
    Sub New(pfad, MailName)
        Me.Pfad = pfad
        Me.MailName = MailName
    End Sub
End Class


Public Class cFakt_SR_List
    Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang
    Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
    Sub New(RECHNUNG, SPEDBUCH)
        Me.RECHNUNG = RECHNUNG
        Me.SPEDBUCH = SPEDBUCH
    End Sub
End Class
