//Confirmation de la vente
        private void btnConfirmerVente_Click(object sender, EventArgs e)
        {
            int iID = new G_AchatVenteVoiture(sConnexion).Ajouter(int.Parse(tbIdVoitureConfirme.Text), int.Parse(tbIdClientConfirme.Text), int.Parse(tbPrix.Text)
                                                                  , DateTime.Parse(dtpDate.Text), int.Parse(tbIdPaiement.Text), "vente");

            DT_Vente.Rows.Add(iID, tbIdVoitureConfirme.Text, tbIdClientConfirme.Text, tbPrix.Text, dtpDate.Text, tbIdPaiement.Text, "vente");
            BS_Vente.DataSource = DT_Vente;
            dgvVente.DataSource = BS_Vente;

            //supp dans BD

            new G_StockVoiture(sConnexion).Supprimer(int.Parse(tbIdVoitureConfirme.Text));

            //supp dans mémoire

            int index = dgvStock.CurrentRow.Index;

            dgvStock.Rows.RemoveAt(index);
            MessageBox.Show("Suppression de : " + tbIdVoitureConfirme.Text.ToString() + "effectuée");

            //Création de la facture Vente

            factV.creerFactureVente(tbIdClientConfirme, tbIdNomClient, tbIdPrenomClient, tbIdVoitureConfirme, tbNomMarque, tbNomModele,
                                    tbNomCategorie, tbAnneeFabricationStock, tbNomCarburant, tbNomCouleur, tbKilometrage, tbPrix, dtpDate, tbIdPaiement, cbNomPaiement);

            C_ClientsVoiture tmp = new G_ClientsVoiture(sConnexion).Lire_ID(int.Parse(tbIdClientConfirme.Text));

            journal.AjoutVenteJournal(tbIdVoitureConfirme, tbNomMarque, tbNomModele, tbIdClientConfirme, tmp.nomClient, tmp.prenomClient, dtpDate, tbPrix);

            resetPage();
        }
        //Vente dans le tableau de bord
        //-----------------------------
        private void remplirDgvVente()
        {
            DT_Vente = new DataTable();

            DT_Vente.Columns.Add(new DataColumn("ID Opération", System.Type.GetType("System.Int32")));
            DT_Vente.Columns.Add("ID Voiture");
            DT_Vente.Columns.Add("ID Client");
            DT_Vente.Columns.Add("Prix");
            DT_Vente.Columns.Add("Date Opération");
            DT_Vente.Columns.Add("ID Paiement");
            DT_Vente.Columns.Add("Type Opération");

            List <C_AchatVenteVoiture> lTmp = new G_AchatVenteVoiture(sConnexion).Lire("ID Vente"); //renvoi une liste de personne

            //Remplir le DGV

            foreach (C_AchatVenteVoiture p in lTmp)
            {
                if (p.typeOperation == "vente")
                {
                    DT_Vente.Rows.Add(p.idOperation, p.idVoiture, p.idClient, p.prixOperation, p.dateOperation, p.idPaiement, p.typeOperation);
                }
            }

            BS_Vente            = new BindingSource();
            BS_Vente.DataSource = DT_Vente;
            dgvVente.DataSource = BS_Vente;

            dgvVente.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }
        //Confirmation de l'achat
        private void btnConfirmerAchat_Click(object sender, EventArgs e)
        {
            pInfosAchat.Enabled = false;

            ((EcranAccueil)Application.OpenForms["EcranAccueil"]).btnConsulterAchat.Enabled = true;

            int iIdOpe = new G_AchatVenteVoiture(sConnex).Ajouter(int.Parse(tbIdVoitureConfirme.Text), int.Parse(tbIdClient.Text)
                                                                  , int.Parse(tbPrix.Text), DateTime.Parse(dtpDate.Text), int.Parse(tbIdPaiement.Text), "achat");

            DT_Achat.Rows.Add(iIdOpe, int.Parse(tbIdVoitureConfirme.Text), int.Parse(tbIdClient.Text)
                              , int.Parse(tbPrix.Text), DateTime.Parse(dtpDate.Text), int.Parse(tbIdPaiement.Text), "achat");

            //BS_Achat.DataSource = DT_Achat;
            //dgvAchat.DataSource = BS_Achat;

            //Ajout de la voiture au stock (partie dgv)

            DT_Stock.Rows.Add(int.Parse(tbIdVoitureConfirme.Text), int.Parse(tbIdMarque.Text), int.Parse(tbIdModele.Text), int.Parse(tbIdCategorie.Text)
                              , int.Parse(tbAnneeFabricationStock.Text), int.Parse(tbIdCarburant.Text), int.Parse(tbIdCouleur.Text), int.Parse(tbKilometrage.Text));

            //BS_Stock.DataSource = DT_Stock;
            //dgvStock.DataSource = BS_Stock;

            C_ClientsVoiture tmp = new G_ClientsVoiture(sConnex).Lire_ID(int.Parse(tbIdClientConfirme.Text));

            factA.creerFactureAchat(tbIdClientConfirme, tbIdNomClient, tbIdPrenomClient, tbIdVoitureConfirme, cbNomMarque, cbNomModele
                                    , cbNomCategorie, tbAnneeFabricationStock, cbNomCarburant, cbNomCouleur, tbKilometrage, tbPrix, dtpDate, tbIdPaiement, cbNomPaiement);

            //Ajout au journal des évenements
            journal.AjoutAchatJournal(tbIdVoitureConfirme, cbNomMarque, cbNomModele, tbIdClientConfirme, tmp.nomClient, tmp.prenomClient, dtpDate, tbPrix);

            ((EcranAccueil)Application.OpenForms["EcranAccueil"]).dgvStock.Refresh();
        }
        //Suppression d'une vente
        private void btnSupprimerVente_Click(object sender, EventArgs e)
        {
            if (dgvVente.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("Supprimer l'enregistrement ?", "Confirmer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    int Iid = int.Parse(dgvVente.SelectedRows[0].Cells["ID Client"].Value.ToString());
                    C_ClientsVoiture clTmp = new G_ClientsVoiture(sConnex).Lire_ID(Iid);
                    int IidVoit            = int.Parse(dgvVente.SelectedRows[0].Cells["ID Voiture"].Value.ToString());


                    //Suppression de la facture associée à la vente dans le dossier
                    string nomFichier    = clTmp.nomClient + "_" + clTmp.prenomClient + "_IDC" + Iid.ToString() + "_IDV" + IidVoit.ToString() + "_FactureVente.txt";
                    string nomRepertoire = @"C:/Users/Maesm/Desktop/MAES_Maxime_projet_BD_V2/Factures_V";
                    string path          = nomRepertoire + "/" + nomFichier;
                    if (File.Exists(path))
                    {
                        MessageBox.Show("Suppression du fichier texte associé");
                        File.Delete(path);
                    }
                    else
                    {
                        MessageBox.Show("Fichier texte introuvable");
                    }


                    //Pour récuperer les données afin de signaler la suppression au journal des évenements
                    //Marque
                    int             IidMarque = int.Parse(dgvVente.SelectedRows[0].Cells["ID Marque"].Value.ToString());
                    C_MarqueVoiture tmpMarque = new G_MarqueVoiture(sConnex).Lire_ID(IidMarque);

                    //Modèle
                    int             IidModele = int.Parse(dgvVente.SelectedRows[0].Cells["ID Modele"].Value.ToString());
                    C_ModeleVoiture tmpModele = new G_ModeleVoiture(sConnex).Lire_ID(IidModele);

                    //Date + prix
                    int iId = (int)dgvVente.SelectedRows[0].Cells["ID Opération"].Value; //ID opération
                    C_AchatVenteVoiture tmpAchat = new G_AchatVenteVoiture(sConnex).Lire_ID(iId);

                    //Ajout évenements au journal de modif
                    journal.AjoutSuppressionAchatJournal(IidVoit, tmpMarque.nomMarque, tmpModele.nomModele, Iid, clTmp.nomClient, clTmp.prenomClient, tmpAchat.dateOperation, tmpAchat.prixOperation);


                    //supp dans BD

                    new G_AchatVenteVoiture(sConnex).Supprimer(iId);

                    //supp dans mémoire

                    int index = dgvVente.CurrentRow.Index;
                    dgvVente.Rows.RemoveAt(index);
                    MessageBox.Show("Suppression effectuée", index.ToString());
                }
            }
            else
            {
                MessageBox.Show("Sélectionner l'enregistrement à supprimer");
            }
        }
        //Affichage des informations concernant la vente sélécetionné dans le DGV
        private void btnDetailsVente_Click(object sender, EventArgs e)
        {
            dtpDate.Enabled = false;
            if (dgvVente.SelectedRows.Count > 0)
            {
                tbIdentifiantOperation.Text = dgvVente.SelectedRows[0].Cells["ID Opération"].Value.ToString();
                C_AchatVenteVoiture pTmp = new G_AchatVenteVoiture(sConnex).Lire_ID(int.Parse(tbIdentifiantOperation.Text));

                tbIdentifiantOperation.Text = pTmp.idOperation.ToString();
                tbIdentifiantClient.Text    = pTmp.idClient.ToString();
                tbIdentifiantVoiture.Text   = pTmp.idVoiture.ToString();
                tbPrix.Text     = pTmp.prixOperation.ToString();
                tbPaiement.Text = pTmp.idPaiement.ToString();
                dtpDate.Text    = pTmp.dateOperation.ToString();

                activer(false);
            }
            else
            {
                MessageBox.Show("Sélectionner l'enregistrement à éditer");
            }
        }