/// <summary>
        /// Se produit lors du click sur le bouton d'impression d'une facture
        /// </summary>
        private void buttonImprimerFacture_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();
            FactureVente FactureAModifier = listeDeroulanteFactureVente1.FactureVenteSelectionne;

            FactureAModifier.SurErreur       += FactureVenteEnEdition_SurErreur;
            FactureAModifier.AvantChangement += FactureEnEdition_AvantChangement;
            int Remise = 0;

            if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null)
            {
                if (string.IsNullOrWhiteSpace(textBoxRemise.Text))
                {
                    FactureAModifier.RemiseSurReprise = 0;
                }
                else if (int.TryParse(textBoxRemise.Text, out Remise))
                {
                    if (Remise > 0)
                    {
                        FactureAModifier.RemiseSurReprise = Remise;
                    }
                }
                else
                {
                    FactureAModifier.RemiseSurReprise = double.MaxValue;
                }
            }
            else
            {
                FactureAModifier.RemiseSurReprise = 0;
            }
            FactureAModifier.Client         = listeDeroulanteFactureVente1.FactureVenteSelectionne.Client;
            FactureAModifier.DateVente      = DateTime.Now;
            FactureAModifier.PourcentageTva = int.Parse(numericUpDownTVA.Value.ToString());

            if (FactureAModifier.EstValide && Program.GMBD.ModifierFactureVente(FactureAModifier))
            {
                VehiculeVente VehiculeVenteAModifier = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente;
                VehiculeVenteAModifier.SurErreur            += VehiculeVenteEnEdition_SurErreur;
                VehiculeVenteAModifier.AvantChangement      += VehiculeVenteEnEdition_AvantChangement;
                VehiculeVenteAModifier.DateArrivee           = dateTimePickerDateReception.Value;
                VehiculeVenteAModifier.DateMiseEnCirculation = DateTime.Now;
                VehiculeVenteAModifier.Kilometrage           = int.Parse(numericUpDownKilometrage.Value.ToString());
                VehiculeVenteAModifier.NumeroChassis         = textBoxNumChassis.Text;
                VehiculeVenteAModifier.AnneeConstruction     = int.Parse(numericUpDownAnneeConstruction.Value.ToString());
                VehiculeVenteAModifier.StatutLivraison       = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault();

                if (VehiculeVenteAModifier.EstValide && Program.GMBD.ModifierVehiculeVente(VehiculeVenteAModifier))
                {
                    ClientVehicule NouveauClientVehicule = new ClientVehicule();
                    NouveauClientVehicule.Client          = listeDeroulanteFactureVente1.FactureVenteSelectionne.Client;
                    NouveauClientVehicule.VehiculeActif   = 1;
                    NouveauClientVehicule.Vehicule        = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.Vehicule;
                    NouveauClientVehicule.NumeroChassis   = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.NumeroChassis;
                    NouveauClientVehicule.Immatriculation = "";
                    if (NouveauClientVehicule.EstValide && Program.GMBD.AjouterClientVehicule(NouveauClientVehicule))
                    {
                        if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null)
                        {
                            ClientVehicule VehiculeReprisParLaConcession = listeDeroulanteClientVehicule1.ClientVehiculeSelectionne;
                            VehiculeReprisParLaConcession.VehiculeActif = 0;
                            if ((VehiculeReprisParLaConcession.EstValide) && (Program.GMBD.ModifierClientVehicule(VehiculeReprisParLaConcession)))
                            {
                                RefreshPage();
                                GenerationFacturePDF FacturationPDF = new GenerationFacturePDF();
                                FacturationPDF.GenerationFactureVente(FactureAModifier);
                                listeDeroulanteFactureVente1.FactureVenteSelectionne = null;
                            }
                        }
                        else
                        {
                            RefreshPage();
                            GenerationFacturePDF FacturationPDF = new GenerationFacturePDF();
                            FacturationPDF.GenerationFactureVente(FactureAModifier);
                            listeDeroulanteFactureVente1.FactureVenteSelectionne = null;
                        }
                    }
                }
            }
        }
        private void buttonAcheter_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();
            ValidationProvider.Clear();
            VehiculeVente VehiculeExiste = Program.GMBD.EnumererVehiculeVente(null, new PDSGBD.MyDB.CodeSql("JOIN vehicule ON vehicule_vente.fk_id_vehicule = vehicule.id_vehicule"), new PDSGBD.MyDB.CodeSql("WHERE id_vehicule_vente = {0}", m_Id), null).FirstOrDefault();

            if (VehiculeExiste != null)
            {
                if (formulaire_Client1.ClientEnCoursDeTraitement != null)
                {
                    // Si un véhicule a été repris, une indication de prix sur la reprise du véhicule doit être indiquée et le véhicule ne sera plus actif pour ce client.
                    if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null)
                    {
                        int DernierId = -1;
                        IEnumerable <FactureVente> ListeDesFactures = Program.GMBD.EnumererFactureVente(null, null, null, null);
                        if (ListeDesFactures.Count() == 0)
                        {
                            DernierId = 1;
                        }
                        else
                        {
                            DernierId = ListeDesFactures.Last().Id;
                        }

                        // On enregistrement le nouveau véhicule du client
                        ClientVehicule VehiculeAcheterParLeClient = new ClientVehicule();
                        VehiculeAcheterParLeClient.NumeroChassis   = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).NumeroChassis;
                        VehiculeAcheterParLeClient.VehiculeActif   = 1;
                        VehiculeAcheterParLeClient.Immatriculation = "";
                        VehiculeAcheterParLeClient.Vehicule        = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).Vehicule;
                        VehiculeAcheterParLeClient.Client          = formulaire_Client1.AccesALaListeClient.Client.FirstOrDefault();
                        if ((VehiculeAcheterParLeClient.EstValide) && (Program.GMBD.AjouterClientVehicule(VehiculeAcheterParLeClient)))
                        {
                            // On enregistre la facture
                            FactureVente NouvelleFactureDeVente = new FactureVente();
                            NouvelleFactureDeVente.Client         = formulaire_Client1.ClientEnCoursDeTraitement;
                            NouvelleFactureDeVente.Employe        = Form_Principal.Employe;
                            NouvelleFactureDeVente.VehiculeVente  = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id));
                            NouvelleFactureDeVente.PourcentageTva = int.Parse(numericUpDownTVA.Value.ToString());
                            double remise = 0;
                            if (double.TryParse(textBoxRemise.Text, out remise))
                            {
                                NouvelleFactureDeVente.RemiseSurReprise = remise;
                            }
                            else
                            {
                                NouvelleFactureDeVente.RemiseSurReprise = 0;
                            }
                            NouvelleFactureDeVente.DateVente     = DateTime.Now;
                            NouvelleFactureDeVente.NumeroFacture = string.Format("{0}-{1}", DateTime.Now.Year, DernierId + 1);
                            if ((NouvelleFactureDeVente.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeVente)))
                            {
                                if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null)
                                {
                                    ClientVehicule VehiculeADesactiver = listeDeroulanteClientVehicule1.ClientVehiculeSelectionne;
                                    VehiculeADesactiver.VehiculeActif = 0;
                                    if ((VehiculeADesactiver.EstValide) && (Program.GMBD.ModifierClientVehicule(VehiculeADesactiver)))
                                    {
                                        VehiculeExiste.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault();
                                        if ((VehiculeExiste.EstValide) && (Program.GMBD.ModifierVehiculeVente(VehiculeExiste)))
                                        {
                                            GenerationFacturePDF NouvelleFacturePDF = new GenerationFacturePDF();
                                            NouvelleFacturePDF.GenerationFactureVente(NouvelleFactureDeVente);
                                            ValidationProvider.SetError(buttonAcheter, "Achat correctement effectué");
                                        }
                                    }

                                    ActualiserApresAchat();
                                    ActualiserListeVehiculeDispo();
                                }
                            }
                            else
                            {
                                Program.GMBD.SupprimerClientVehicule(VehiculeAcheterParLeClient);
                            }
                        }
                    }
                    // Sinon l'acheteur ne revend pas de véhicule à la concession donc un traitement simple sera effectué
                    else
                    {
                        int DernierId = -1;
                        IEnumerable <FactureVente> ListeDesFactures = Program.GMBD.EnumererFactureVente(null, null, null, null);
                        if (ListeDesFactures.Count() == 0)
                        {
                            DernierId = 1;
                        }
                        else
                        {
                            DernierId = ListeDesFactures.Last().Id;
                        }


                        ClientVehicule VehiculeAcheterParLeClient = new ClientVehicule();
                        VehiculeAcheterParLeClient.NumeroChassis   = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).NumeroChassis;
                        VehiculeAcheterParLeClient.VehiculeActif   = 1;
                        VehiculeAcheterParLeClient.Immatriculation = "";
                        VehiculeAcheterParLeClient.Vehicule        = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).Vehicule;
                        VehiculeAcheterParLeClient.Client          = formulaire_Client1.AccesALaListeClient.Client.FirstOrDefault();
                        if ((VehiculeAcheterParLeClient.EstValide) && (Program.GMBD.AjouterClientVehicule(VehiculeAcheterParLeClient)))
                        {
                            FactureVente NouvelleFactureDeVente = new FactureVente();
                            NouvelleFactureDeVente.Client           = formulaire_Client1.ClientEnCoursDeTraitement;
                            NouvelleFactureDeVente.Employe          = Form_Principal.Employe;
                            NouvelleFactureDeVente.VehiculeVente    = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id));
                            NouvelleFactureDeVente.PourcentageTva   = int.Parse(numericUpDownTVA.Value.ToString());
                            NouvelleFactureDeVente.RemiseSurReprise = 0;
                            NouvelleFactureDeVente.DateVente        = DateTime.Now;
                            NouvelleFactureDeVente.NumeroFacture    = string.Format("{0}-{1}", DateTime.Now.Year, DernierId + 1);

                            if ((NouvelleFactureDeVente.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeVente)))
                            {
                                VehiculeExiste.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault();
                                if ((VehiculeExiste.EstValide) && (Program.GMBD.ModifierVehiculeVente(VehiculeExiste)))
                                {
                                    ActualiserApresAchat();
                                    ActualiserListeVehiculeDispo();
                                    GenerationFacturePDF NouvelleFacturePDF = new GenerationFacturePDF();
                                    NouvelleFacturePDF.GenerationFactureVente(NouvelleFactureDeVente);
                                }
                            }
                            else
                            {
                                Program.GMBD.SupprimerClientVehicule(VehiculeAcheterParLeClient);
                            }
                        }
                    }
                }
                else
                {
                    errorProvider.SetError(buttonAcheter, "Veuillez choisir un client");
                }
            }
            else
            {
                errorProvider.SetError(buttonAcheter, "Ce véhicule n'existe plus, veuillez en choisir un autre");
            }
        }
Esempio n. 3
0
 private void buttonImprimerFacture_Click(object sender, EventArgs e)
 {
     GenerationDocumentsPDF.GenerationFactureVente(ficheFactureVente1.FactureVenteSelectionnee, false);
 }