' Copyright (C) 2025  P4pillon.org
'
' This program is free software: you can redistribute it and/or modify
' it under the terms of the GNU Affero General Public License as
' published by the Free Software Foundation, either version 3 of the
' License, or (at your option) any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
' GNU Affero General Public License for more details.
'
' You should have received a copy of the GNU Affero General Public License
' along with this program.  If not, see <https://www.gnu.org/licenses/>.
Public Class Prod_Histo_Prix_TFR

    Public Sub Afficher_Histo_Prix_Tfr(ByVal CIP13 As String, ByVal CIP7 As String)
        Me.Text = "Historique Prix " & CIP13 & "  " & CIP7
        Dim prix = BDD.BDM_PrixTableAdapter.GetDataBy_CIP(CIP13, CIP7)
        Dim tfr = BDD.BDM_TFRTableAdapter.GetDataBy_CIP(CIP13)

        Histo_Prix.Rows.Clear()
        Histo_TFR.Rows.Clear()

        For r = 0 To prix.Rows.Count - 1
            Histo_Prix.Rows.Add()
        Next
        For r = 0 To tfr.Rows.Count - 1
            Histo_TFR.Rows.Add()
        Next

        For r = 0 To prix.Rows.Count - 1
            Histo_Prix.Item(Prix_PpTTC.Index, r).Value = (CDec(prix(r).Prix_Public_TTC) / 100)
            Histo_Prix.Item(Prix_Facbricant_HT.Index, r).Value = (CDec(prix(r).Prix_Fabricant_HT) / 100)
            Histo_Prix.Item(Prix_Date.Index, r).Value = Mid(prix(r)._Date, 7, 2) & "/" & Mid(prix(r)._Date, 5, 2) & "/" & Mid(prix(r)._Date, 1, 4)
        Next
        For r = 0 To tfr.Rows.Count - 1
            Histo_TFR.Item(TFR_Val.Index, r).Value = tfr(r).TFR
            Histo_TFR.Item(TFR_Date.Index, r).Value = tfr(r).DT_DEB.ToShortDateString
        Next

        affiche_TFRtype()

            Me.Visible = True
            Me.BringToFront()

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
        If Not Produits.produit Is Nothing Then
            MyMsg_Box.Presentation("Officine ?", "Attention, le changement de type de tarification peut entrainer des erreurs en facturation (rejets) !" & vbCrLf & "Si vous avez déja saisi ce produit en facturation, vous devrez supprimmer la ligne." & vbCrLf & vbCrLf & "Poursuivre ?", True, "OUI", True, "NON", False, "")
            If MyMsg_Box.ShowDialog = Windows.Forms.DialogResult.Yes Then
                Select Case ComboBox1.SelectedIndex
                    Case 0
                        BDD.ProduitsTableAdapter.Set_TFRtype_TFRprix("", "", Produits.produit.CIP, Produits.produit.EAN13, Produits.produit.CAB, Produits.produit.Designation)
                    Case 1
                        BDD.ProduitsTableAdapter.Set_TFRtype_TFRprix("0", "0", Produits.produit.CIP, Produits.produit.EAN13, Produits.produit.CAB, Produits.produit.Designation)
                    Case 2
                        Try
                            Dim TFRprix = CDec(Replace(InputBox("Tarif remboursement?", "Officine ?"), ".", ","))
                            BDD.ProduitsTableAdapter.Set_TFRtype_TFRprix("1", TFRprix.ToString, Produits.produit.CIP, Produits.produit.EAN13, Produits.produit.CAB, Produits.produit.Designation)
                        Catch ex As Exception
                            MyMsg_Box.Presentation("Officine !", "Tarif non reçu !", False, "", False, "", True, "OK")
                            MyMsg_Box.ShowDialog()
                            affiche_TFRtype()
                        End Try
                    Case 3
                        BDD.ProduitsTableAdapter.Set_TFRtype_TFRprix("2", "0", Produits.produit.CIP, Produits.produit.EAN13, Produits.produit.CAB, Produits.produit.Designation)
                End Select
            Else
                affiche_TFRtype()
            End If
        Else
            ComboBox1.SelectedIndex = 0
        End If
    End Sub
    Private Sub affiche_TFRtype()
        If Not Produits.produit Is Nothing Then
            If Not Produits.produit.TFRtype Is DBNull.Value Then
                Select Case Produits.produit.TFRtype
                    Case ""
                        ComboBox1.SelectedIndex = 0
                    Case Else
                        ComboBox1.SelectedIndex = CInt(Produits.produit.TFRtype) + 1
                End Select
            Else
                ComboBox1.SelectedIndex = 0
            End If
        Else
            ComboBox1.SelectedIndex = 0
        End If
    End Sub
End Class