/// <summary>
 /// Se produit avant la modification en base de données
 /// </summary>
 private void VehiculeAModifier_AvantChangement(Vehicule Entite, Vehicule.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur)
 {
     switch (Champ)
     {
     case Vehicule.Champs.Modele:
         Vehicule ModeleExiste = Program.GMBD.EnumererVehicule(null, new PDSGBD.MyDB.CodeSql("JOIN type_vehicule ON vehicule.fk_id_type = type.id_type"), new PDSGBD.MyDB.CodeSql("WHERE modele = {0} AND id_vehicule != {1} AND type = {2} AND disponible = 1", NouvelleValeur, Entite.Id, (EstMoto) ? "Moto" : "Voiture"), null).FirstOrDefault();
         if (ModeleExiste != null)
         {
             ValidationProvider.Clear();
             AccumulateurErreur.NotifierErreur("Ce modèle existe déjà");
         }
         break;
     }
 }
 /// <summary>
 /// Se produit avant le changement dans la base de données
 /// </summary>
 private void NouveauVehicule_AvantChangement(Vehicule Entite, Vehicule.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur)
 {
     switch (Champ)
     {
     case Vehicule.Champs.Modele:
         Vehicule ModeleExiste = Program.GMBD.EnumererVehicule(null, null, new PDSGBD.MyDB.CodeSql("WHERE modele = {0} AND disponible = 1", NouvelleValeur)
                                                               , null).FirstOrDefault();
         if (ModeleExiste != null)
         {
             AccumulateurErreur.NotifierErreur("Ce nom de modèle existe déjà");
         }
         break;
     }
 }
        /// <summary>
        /// Indique sur quel UserControl mettre le message d'erreur pour chacune des valeurs modifiables
        /// </summary>
        private void NouveauVehicule_SurErreur(Vehicule Entite, Vehicule.Champs Champ, string MessageErreur)
        {
            switch (Champ)
            {
            case Vehicule.Champs.Modele:
                errorProvider.SetError(textBoxModele, MessageErreur);
                break;

            case Vehicule.Champs.PrixVehicule:
                errorProvider.SetError(numericUpDownTempsLivraison, MessageErreur);
                break;

            case Vehicule.Champs.NomImage:
                errorProvider.SetError(buttonAjouterImage, MessageErreur);
                break;

            case Vehicule.Champs.TempsLivraison:
                errorProvider.SetError(numericUpDownTempsLivraison, MessageErreur);
                break;

            default:
                break;
            }
        }