private IEnumerable <PackOption> EnumererPackOption() { return(PackOption.Enumerer(Connexion, Connexion.Enumerer(@"SELECT * from pack_option JOIN option_vehicule ON pack_option.fk_id_option_vehicule = option_vehicule.id_option_vehicule JOIN type_option ON option_vehicule.fk_id_type_option = type_option.id_type_option JOIN pack_option_pack_vehicule ON pack_option_pack_vehicule.id_pack_option_pack_vehicule = pack_option.fk_id_popv WHERE pack_option.fk_id_popv = {0}", Id))); }
private void NouvelleOptionLiee_AvantChangement(PackOption Entite, PackOption.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur) { switch (Champ) { case PackOption.Champs.OptionVehicule: { PackOption OptionExistePourCePack = Program.GMBD.EnumererPackOption(null, null, new PDSGBD.MyDB.CodeSql("where fk_id_option_vehicule = {0} AND fk_id_popv = {1}", ficheOptionsPackRecherche.OptionsSelectionnee.Id, listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null).FirstOrDefault(); if (OptionExistePourCePack != null) { AccumulateurErreur.NotifierErreur("Cette option est déjà existante dans ce pack"); } break; } } }
private void NouvelleOptionLie_SurErreur(PackOption Entite, PackOption.Champs Champ, string MessageErreur) { switch (Champ) { case PackOption.Champs.OptionVehicule: errorProvider.SetError(pictureBoxPackA, MessageErreur); break; case PackOption.Champs.PackOptionPackVehicule: errorProvider.SetError(pictureBoxPackA, MessageErreur); break; default: break; } }
private void pictureBoxPackR_Click(object sender, EventArgs e) { ValidationProvider.Clear(); errorProvider.Clear(); // Si un pack a été choisi, alors on retire directement la valeur if (ficheOptionsPackActuel.OptionsSelectionnee != null) { if (listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne != null) { PackOption PackChoisi = Program.GMBD.EnumererPackOption(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_option_vehicule = {0} AND fk_id_popv = {1}", ficheOptionsPackActuel.OptionsSelectionnee.Id, listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id), null).FirstOrDefault(); if ((PackChoisi.EstValide) && (Program.GMBD.SupprimerPackOption(PackChoisi))) { ValidationProvider.SetError(pictureBoxPackR, "Option correctement supprimée"); RefreshFichePack(listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id); } } } }
private void pictureBoxPackA_Click(object sender, EventArgs e) { ValidationProvider.Clear(); errorProvider.Clear(); if (ficheOptionsPackRecherche.OptionsSelectionnee != null) { // Si un pack a été choisi, alors on rajoute directement la valeur if (listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne != null) { bool DoublonsSurOption = false; foreach (OptionVehicule OV in ficheOptionsPackActuel.Options) { if ((ficheOptionsPackRecherche.OptionsSelectionnee.TypeOption.NomType == OV.TypeOption.NomType) && (ficheOptionsPackRecherche.OptionsSelectionnee.TypeOption.NomType != "Autres")) { DoublonsSurOption = true; } } if (!DoublonsSurOption) { PackOption PackChoisi = new PackOption(); PackChoisi.AvantChangement += NouvelleOptionLiee_AvantChangement; PackChoisi.SurErreur += NouvelleOptionLie_SurErreur; PackChoisi.OptionVehicule = ficheOptionsPackRecherche.OptionsSelectionnee; PackChoisi.PackOptionPackVehicule = listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne; if ((PackChoisi.EstValide) && (Program.GMBD.AjouterPackOption(PackChoisi))) { ValidationProvider.SetError(pictureBoxPackA, "Option correctement ajoutée"); RefreshFichePack(listeDeroulantePackOptions1.PackOptionPackVehiculeSelectionne.Id); } } else { errorProvider.SetError(pictureBoxPackA, "Ce type d'option a déjà été choisi"); } } // Sinon on crée le pack avec les valeurs de nom et de prix encodés, si elles ne le sont pas, on retourne un message d'erreur else { PackOptionPackVehicule NouveauPack = new PackOptionPackVehicule(); NouveauPack.SurErreur += Pack_SurErreur; NouveauPack.AvantChangement += AjouterNouveauPack_AvantChangement; NouveauPack.NomPack = textBoxNomPack.Text; NouveauPack.PrixPack = double.Parse(numericUpDownPrixPack.Value.ToString()); NouveauPack.Disponible = 1; if ((NouveauPack.EstValide) && (Program.GMBD.AjouterPackOptionPackVehicule(NouveauPack))) { PackOption NouvelleOptionDeCePack = new PackOption(); NouvelleOptionDeCePack.OptionVehicule = ficheOptionsPackRecherche.OptionsSelectionnee; NouvelleOptionDeCePack.PackOptionPackVehicule = NouveauPack; if ((NouvelleOptionDeCePack.EstValide) && (Program.GMBD.AjouterPackOption(NouvelleOptionDeCePack))) { ValidationProvider.SetError(pictureBoxPackA, "Ce pack et cette option ont bien été ajoutés"); RefreshFichePack(NouveauPack.Id); } else { Program.GMBD.SupprimerPackOptionPackVehicule(NouveauPack); errorProvider.SetError(pictureBoxPackA, "L'ajout semble impossible, veuillez revérifier vos valeurs"); } } } } }