Imports IntraSell_DLL
Imports IntraSell_Net_Base

''' <summary>
''' Zweiter Bildschirm
''' </summary>
''' <remarks></remarks>
Public Class CustomerDisplayIntraSell
    Inherits CustomerDisplayJARLTECH

    Shared crossSalesFrom As IntraSell_Net_CustomerDisplay.CrossSales
    Dim ARTIKEL_BILDER_VERZEICHNIS As String

    Public Shadows Sub SetVorgangBar(form As AbstractVorgangBar)
        MyBase.SetVorgangBar(form)
        vorgangBar = form
        If ExistsVarValue(CUSTOMER_DISPLAY_PRINT_PORT) Then
            PrintOnCustomerDisplay(VarValue_Default("CUSTOMER_DISPLAY_WILLKOMMEN1", "HERZLICH"), _
                                   VarValue_Default("CUSTOMER_DISPLAY_WILLKOMMEN2", "WILLKOMMEN"), True)
            'add events 
            AddHandler vorgangBar.ArtikelAenderung, AddressOf ArtikelErfasst
            AddHandler ModuleBuchVorgang.VorgangAbgeschlossen, AddressOf VorgangAbgeschlossen
        End If

        If crossSalesFrom Is Nothing Then
            crossSalesFrom = New IntraSell_Net_CustomerDisplay.CrossSales
            crossSalesFrom.Show()
            crossSalesFrom.TopMost = True
        End If
    End Sub

    Friend Shadows Sub ArtikelErfasst(ArtNr As Integer, Preis As Decimal, Total As Decimal, vorgang As dsVorgaenge.buchvorgangRow)
        Dim artbez As String = ArtikelBezeichnung(ArtNr)
        If artbez.Length > 10 Then
            artbez = artbez.Substring(0, 10)
        End If
        Dim lin1 = artbez & ": " & Format(Preis, "0.00")
        Dim lin2 = "TOTAL: " & Format(Total, "0.00")
        _CUSTOMER_DISPLAY_PRINT = False
        PrintOnCustomerDisplay(lin1, lin2, True)

        'Cross Sales 
        If crossSalesFrom Is Nothing Then
            crossSalesFrom = New IntraSell_Net_CustomerDisplay.CrossSales
            crossSalesFrom.Show()
        End If

        Dim productNames As New List(Of String)
        Dim imagefiles As New List(Of String)
        Dim cmd As New MySql.Data.MySqlClient.MySqlCommand("select unterartnr from `grArtikel-VerwandteArtikel` where artnr=@artnr")
        cmd.Parameters.AddWithValue("ArtNr", ArtNr)
        cmd.Connection = CurrentDB
        Dim result = OpenRecordsetInMemory(cmd)
        ARTIKEL_BILDER_VERZEICHNIS = VarValue_Default(Variablen.ARTIKEL_BILDER_VERZEICHNIS, ClassSettings.GetDataPath & "produktbilder")
        Dim fname As String = ARTIKEL_BILDER_VERZEICHNIS & "\" & CStr(ArtNr) & ".jpg"
        If IO.File.Exists(fname) Then
            productNames.Add(ArtikelBezeichnung(ArtNr))
            imagefiles.Add(fname)
        End If
        fname = ARTIKEL_BILDER_VERZEICHNIS & "\" & CStr(ArtNr) & ".png"
        If IO.File.Exists(fname) Then
            productNames.Add(ArtikelBezeichnung(ArtNr))
            imagefiles.Add(fname)
        End If

        For Each r In result.Rows
            fname = ARTIKEL_BILDER_VERZEICHNIS & "\" & CStr(r("unterartnr")) & ".jpg"
            If IO.File.Exists(fname) Then
                productNames.Add(ArtikelBezeichnung(r("unterartnr")))
                imagefiles.Add(fname)
            End If
            fname = ARTIKEL_BILDER_VERZEICHNIS & "\" & CStr(r("unterartnr")) & ".png"
            If IO.File.Exists(fname) Then
                productNames.Add(ArtikelBezeichnung(r("unterartnr")))
                imagefiles.Add(fname)
            End If
        Next
        crossSalesFrom.DisplayCrossSales(imagefiles.ToArray, productNames.ToArray, GetVorgangText(vorgang))
    End Sub

    Function GetVorgangText(vorgang As dsVorgaenge.buchvorgangRow) As String
        Try
            Dim vorgangInfoFile As String = OpenAusdruck_InWord_Filename_RTF(vorgang.Typ,
                                                                       vorgang.Nummer,
                                                                       VORLAGE_INFO,
                                                                       True)

            If IO.File.Exists(vorgangInfoFile) Then
                Dim content As String = IO.File.ReadAllText(vorgangInfoFile)
                Return SaubernFuerUI(content)
            Else
                Return "Herzlich Willkommen"
            End If
        Catch ex As Exception
            'Ignore
        End Try

        Return "Vielen Dank für Ihren Besuch!"
    End Function

End Class
