private IEnumerable <ChoixPackVehicule> EnumererChoixPackVehicule() { if (Connexion == null) { Connexion = Program.GMBD.BD; } return(ChoixPackVehicule.Enumerer(Connexion, Connexion.Enumerer(@"SELECT * FROM choix_pack_vehicule JOIN pack_option_pack_vehicule ON choix_pack_vehicule.fk_id_popv = pack_option_pack_vehicule.id_pack_option_pack_vehicule WHERE choix_pack_vehicule.fk_id_vehicule_vente = {0}", Id))); }
private void ListeDeroulantePackOptions_SurChangementSelection(object sender, EventArgs e) { if (listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne != null) { buttonAjouterP.Enabled = false; buttonSupprimerPack.Enabled = true; #region Requêtes pour les packs d'options ////////////////////////////////////// // Requêtes pour les pack d'options // ////////////////////////////////////// ficheOptionsPackActuel.Options = Program.GMBD.EnumererOptionVehicule(null, new PDSGBD.MyDB.CodeSql(@"JOIN pack_option ON option_vehicule.id_option_vehicule = pack_option.fk_id_option_vehicule JOIN type_option ON option_vehicule.fk_id_type_option = type_option.id_type_option"), new PDSGBD.MyDB.CodeSql("WHERE pack_option.fk_id_popv = {0}", listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null); ficheOptionsPackActuel.SurChangementFiltre += (s, ev) => { // Cette condition permet d'alléger la requête si l'utilisateur revient sur un filtre vide if (ficheOptionsPackActuel.TexteFiltreOptions != "") { ficheOptionsPackActuel.Options = Program.GMBD.EnumererOptionVehicule(null, new PDSGBD.MyDB.CodeSql(@"JOIN pack_option ON option_vehicule.id_option_vehicule = pack_option.fk_id_option_vehicule JOIN type_option ON option_vehicule.fk_id_type_option = type_option.id_type_option"), new PDSGBD.MyDB.CodeSql("WHERE nom_option LIKE {0} AND pack_option.fk_id_popv = {1}", string.Format(c_FiltreAvecLike, ficheOptionsPackActuel.TexteFiltreOptions, listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null); } else { ficheOptionsPackActuel.Options = Program.GMBD.EnumererOptionVehicule(null, new PDSGBD.MyDB.CodeSql(@"JOIN pack_option ON option_vehicule.id_option_vehicule = pack_option.fk_id_option_vehicule JOIN type_option ON option_vehicule.fk_id_type_option = type_option.id_type_option"), new PDSGBD.MyDB.CodeSql("WHERE pack_option.fk_id_popv = {0}", listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null); } }; #endregion textBoxNomPack.Text = listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.NomPack; numericUpDownPrixPack.Value = decimal.Parse(listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.PrixPack.ToString()); ChoixPackVehicule LiaisonExistante = Program.GMBD.EnumererChoixPackVehicule(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_popv = {0}", listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null).FirstOrDefault(); if (LiaisonExistante != null) { numericUpDownPrixPack.Enabled = false; pictureBoxPackA.Enabled = false; pictureBoxPackR.Enabled = false; buttonModifierP.Enabled = false; textBoxNomPack.Enabled = false; } else { numericUpDownPrixPack.Enabled = true; pictureBoxPackA.Enabled = true; pictureBoxPackR.Enabled = true; buttonModifierP.Enabled = true; textBoxNomPack.Enabled = true; } } else { numericUpDownPrixPack.Enabled = true; } }
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"); } } } } }