' 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 Fournisseurs

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If URL_TextBox.Text <> "" And (Fournisseur_adresse_TextBox.Text = "" Or officine_id_TextBox.Text = "" Or officine_Clé_secrète_TextBox.Text = "" Or officine_adresse_TextBox.Text = "") Then
            MyMsg_Box.Presentation("Officine:", "L'adresse fournisseur, l'ID, la clé secrète et l'adresse de l'officine sont obligatoires pour les transmissions PharmaML", False, "", False, "", True, "OK")
            MyMsg_Box.ShowDialog()
            Fournisseur_adresse_TextBox.Focus()
            Exit Sub
        End If
        Try
            If Commandes_PharmaML.FournisseurTableAdapter.GetDataBy_Nom(Nom_ComboBox.Text).Rows.Count > 0 Then
                Commandes_PharmaML.FournisseurTableAdapter.Update_By_Nom(URL_TextBox.Text, Fournisseur_Code_TextBox.Text, Fournisseur_id_TextBox.Text, URL_secours_TextBox.Text, _
                                                                         officine_Clé_secrète_TextBox.Text, officine_adresse_TextBox.Text, officine_id_TextBox.Text, Fournisseur_adresse_TextBox.Text, _
                                                                         Basculer_Manquants_Vers_ComboBox.Text, Repartiteur_CheckBox.Checked, Notes_RichTextBox.Text, Nom_ComboBox.Text)
            Else
                Commandes_PharmaML.FournisseurTableAdapter.Insert(Nom_ComboBox.Text, URL_TextBox.Text, Fournisseur_Code_TextBox.Text, Fournisseur_id_TextBox.Text, URL_secours_TextBox.Text, _
                                                                         officine_Clé_secrète_TextBox.Text, officine_adresse_TextBox.Text, officine_id_TextBox.Text, _
                                                                         Fournisseur_adresse_TextBox.Text, Basculer_Manquants_Vers_ComboBox.Text, Repartiteur_CheckBox.Checked, Notes_RichTextBox.Text)
            End If
            Me.Close()
        Catch ex As Exception
            MyMsg_Box.Presentation("Officine !", "ERREUR ENREGISTREMENT", False, "", False, "", True, "OK")
            MyMsg_Box.ShowDialog()
            Exit Sub
        End Try


    End Sub


    Private Sub Fournisseurs_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.Icon = Icon.FromHandle(officine.My.Resources.Commandes2.GetHicon)

        Dim fourn = Commandes_PharmaML.FournisseurTableAdapter.GetData_OrderByNom
        For r = 0 To fourn.Rows.Count - 1
            Nom_ComboBox.Items.Add(fourn.Item(r).Nom)
            Basculer_Manquants_Vers_ComboBox.Items.Add(fourn.Item(r).Nom)
        Next
    End Sub

    Private Sub Nom_ComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Nom_ComboBox.SelectedIndexChanged
        If Nom_ComboBox.SelectedItem.ToString <> "" Then
            If Commandes_PharmaML.FournisseurTableAdapter.GetDataBy_Nom(Nom_ComboBox.Text).Rows.Count > 0 Then
                Dim fournisseur_row = Commandes_PharmaML.FournisseurTableAdapter.GetDataBy_Nom(Nom_ComboBox.Text).Item(0)
                officine_id_TextBox.Text = fournisseur_row.officine_id
                officine_Clé_secrète_TextBox.Text = fournisseur_row.officine_Clé_secrète
                officine_adresse_TextBox.Text = fournisseur_row.officine_adresse
                Fournisseur_id_TextBox.Text = fournisseur_row.Fournisseur_id
                Fournisseur_Code_TextBox.Text = fournisseur_row.Fournisseur_Code
                URL_TextBox.Text = fournisseur_row.URL
                URL_secours_TextBox.Text = fournisseur_row.URL_secours
                Fournisseur_adresse_TextBox.Text = fournisseur_row.Fournisseur_adresse
                Basculer_Manquants_Vers_ComboBox.Text = fournisseur_row.Basculer_Manquants_Vers
                Repartiteur_CheckBox.Checked = fournisseur_row.Repartiteur
                Notes_RichTextBox.Text = fournisseur_row.Notes
            End If
            
        End If

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        MyMsg_Box.Presentation("Officine ?", "Voulez-vous supprimer le fournisseur " & Nom_ComboBox.Text & " ?", True, "Oui", True, "Non", False, "")
        If MyMsg_Box.ShowDialog = Windows.Forms.DialogResult.Yes Then
            BDD.FournisseurTableAdapter.DeleteBy_Nom(Nom_ComboBox.Text)

            Me.Close()
        End If
    End Sub
End Class