예제 #1
0
 private void buttonImprimerBonCommande_Click(object sender, EventArgs e)
 {
     if (ficheFactureVente1.FactureVenteSelectionnee != null)
     {
         GenerationDocumentsPDF.GenerationBonDeCommande(ficheFactureVente1.FactureVenteSelectionnee, false);
     }
 }
        private void buttonCommander_Click(object sender, EventArgs e)
        {
            if (formulaire_Client1.AccesALaListeClient.ClientSelectionne != null)
            {
                bool          CreationOptionSucces     = true;
                bool          CreationPackOptionSucces = true;
                VehiculeVente VehiculeCommande         = new VehiculeVente();
                VehiculeCommande.AnneeConstruction     = 0;
                VehiculeCommande.DateArrivee           = DateTime.MinValue;
                VehiculeCommande.DateCommande          = DateTime.Now;
                VehiculeCommande.DateMiseEnCirculation = DateTime.MinValue;
                VehiculeCommande.Kilometrage           = 0;
                VehiculeCommande.NumeroChassis         = "";
                VehiculeCommande.PrixTotal             = PrixEstimeApresChoix;
                VehiculeCommande.Vehicule        = VehiculeChoisi;
                VehiculeCommande.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"En livraison\""), null).FirstOrDefault();

                if ((VehiculeCommande.EstValide) && (Program.GMBD.AjouterVehiculeVente(VehiculeCommande)))
                {
                    for (int i = 0; i < OptionsChoisies.Count; i++)
                    {
                        ChoixOptionVehicule OV = new ChoixOptionVehicule();
                        OV.VehiculeVente  = VehiculeCommande;
                        OV.OptionVehicule = OptionsChoisies[i];
                        if ((OV.EstValide) && (Program.GMBD.AjouterChoixOptionVehicule(OV)))
                        {
                            //ne rien faire vu que la création a été validée
                        }
                        else
                        {
                            CreationOptionSucces = false;
                        }
                    }
                    if (CreationOptionSucces)
                    {
                        for (int i = 0; i < PackChoisis.Count; i++)
                        {
                            ChoixPackVehicule CPV = new ChoixPackVehicule();
                            CPV.VehiculeVente          = VehiculeCommande;
                            CPV.PackOptionPackVehicule = PackChoisis[i];
                            if ((CPV.EstValide) && (Program.GMBD.AjouterChoixPackVehicule(CPV)))
                            {
                                //ne rien faire vu que la création a été validée
                            }
                            else
                            {
                                CreationPackOptionSucces = false;
                            }
                        }
                    }
                    // Si un problème est déjà survenu à cet endroit, il n'y a aucun intérêt de poursuivre la création
                    if ((!CreationOptionSucces) && (!CreationPackOptionSucces))
                    {
                        Program.GMBD.SupprimerVehiculeVente(VehiculeCommande);
                        errorProvider.SetError(buttonCommander, "Une erreur interne s'est produite, veuillez recommencer");
                    }
                    else
                    {
                        FactureVente DernierId = Program.GMBD.EnumererFactureVente(null, null, null, null).LastOrDefault();
                        FactureVente NouvelleFactureDeCommande = new FactureVente();
                        NouvelleFactureDeCommande.Client           = formulaire_Client1.ClientEnCoursDeTraitement;
                        NouvelleFactureDeCommande.Employe          = Form_Principal.Employe;
                        NouvelleFactureDeCommande.VehiculeVente    = VehiculeCommande;
                        NouvelleFactureDeCommande.PourcentageTva   = 1;
                        NouvelleFactureDeCommande.RemiseSurReprise = 1000;
                        NouvelleFactureDeCommande.DateVente        = DateTime.MinValue;
                        if (DernierId == null)
                        {
                            NouvelleFactureDeCommande.NumeroFacture = string.Format("{0}-1", DateTime.Now.Year);
                        }
                        else
                        {
                            NouvelleFactureDeCommande.NumeroFacture = string.Format("{0}-{1}", DateTime.Now.Year, DernierId.Id + 1);
                        }

                        if ((NouvelleFactureDeCommande.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeCommande)))
                        {
                            GenerationFacturePDF NouveauBonDeCommande = new GenerationFacturePDF();
                            NouveauBonDeCommande.GenerationBonDeCommande(NouvelleFactureDeCommande);
                            ValidationProvider.Clear();
                            formulaire_Client1.ViderFormulaire();
                            ficheOptionsChoisies.Options        = null;
                            fichePackOptionsChoisis.PackOptions = null;
                        }
                        else
                        {
                            Program.GMBD.SupprimerVehiculeVente(VehiculeCommande);
                            errorProvider.SetError(buttonCommander, "Une erreur interne s'est produite, veuillez recommencer");
                        }
                    }
                }
            }
        }