private void buttonModifierLier_Click(object sender, EventArgs e)
 {
     errorProvider.Clear();
     ValidationProvider.Clear();
     if (ficheTechnique1.CaracteristiqueSelectionnee != null)
     {
         VehiculeCaracteristique CaracteristiqueAModifier = ficheTechnique1.CaracteristiqueSelectionnee;
         CaracteristiqueAModifier.SurErreur += NouvelleValeurCaracteristique_SurErreur;
         CaracteristiqueAModifier.Valeur     = textBoxInfo.Text;
         if (listeDeroulanteVehicule1.VehiculeSelectionne != null)
         {
             CaracteristiqueAModifier.Vehicule = listeDeroulanteVehicule1.VehiculeSelectionne;
         }
         else
         {
             errorProvider.SetError(listeDeroulanteVehicule1, "Veuillez sélectionner un véhicule");
         }
         CaracteristiqueAModifier.Caracteristique = listeDeroulanteCaracteristique1.CaracteristiqueSelectionne;
         if ((CaracteristiqueAModifier.EstValide) && (Program.GMBD.ModifierVehiculeCaracteristique(CaracteristiqueAModifier)))
         {
             errorProvider.Clear();
             ValidationProvider.SetError(buttonModifierLier, "Caractéristique correctement modifiée");
             RefreshFicheTechnique();
         }
     }
 }
Esempio n. 2
0
 private IEnumerable <VehiculeCaracteristique> EnumererVehiculeCaracteristique()
 {
     return(VehiculeCaracteristique.Enumerer(Connexion, Connexion.Enumerer(@"SELECT * from vehicule_caracteristique
                                                                             JOIN caracteristique ON vehicule_caracteristique.fk_id_caracteristique = caracteristique.id_caracteristique
                                                                             JOIN type ON caracteristique.fk_id_type = type.id_type    
                                                                             WHERE vehicule_caracteristique.fk_id_vehicule = {0}", Id)));
 }
 private void buttonSupprimerCaract_Click(object sender, EventArgs e)
 {
     errorProvider.Clear();
     ValidationProvider.Clear();
     if (listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne != null)
     {
         VehiculeCaracteristique VehiculeCaractUtilise = Program.GMBD.EnumererVehiculeCaracteristique(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_caracteristique = {0}", listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne.Id), null).FirstOrDefault();
         if (VehiculeCaractUtilise == null)
         {
             if (Program.GMBD.SupprimerCaracteristique(listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne))
             {
                 ClearCaract();
                 errorProvider.Clear();
                 ValidationProvider.Clear();
                 ValidationProvider.SetError(buttonSupprimerCaract, "La caractéristique a bien été supprimée");
                 RefreshNouvelleCaract();
                 RefreshListeCaract();
             }
         }
         else
         {
             errorProvider.Clear();
             ValidationProvider.Clear();
             Caracteristique CaracteristiqueASupprimer = listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne;
             CaracteristiqueASupprimer.Disponible = 0;
             if ((CaracteristiqueASupprimer.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueASupprimer)))
             {
                 ValidationProvider.SetError(buttonSupprimerCaract, "La caractéristique a bien été supprimée");
                 RefreshNouvelleCaract();
                 RefreshListeCaract();
             }
         }
     }
 }
 private void NouvelleValeurCaracteristique_SurErreur(VehiculeCaracteristique Entite, VehiculeCaracteristique.Champs Champ, string MessageErreur)
 {
     switch (Champ)
     {
     case VehiculeCaracteristique.Champs.Valeur:
         errorProvider.SetError(textBoxInfo, MessageErreur);
         break;
     }
 }
        /// <summary>
        /// Met à jour la listview des caractèristiques et y insére les elements
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="Entites"></param>
        /// <returns></returns>
        private bool MettreAJourListe <T>(IEnumerable <T> Entites)
            where T : class, IEntiteMySQL
        {
            bool EstCaracteristique = typeof(T).Equals(typeof(VehiculeCaracteristique));

            if (!EstCaracteristique)
            {
                return(false);
            }
            listViewTechnique.Items.Clear();
            if (Entites == null)
            {
                return(false);
            }
            if (EstCaracteristique && (listViewTechnique.Columns.Count != 2))
            {
                listViewTechnique.Columns.Clear();

                listViewTechnique.Columns.Add(new ColumnHeader()
                {
                    Name      = "Caracteristiques",
                    Text      = "Caractèristiques",
                    TextAlign = HorizontalAlignment.Center,
                });
                listViewTechnique.Columns.Add(new ColumnHeader()
                {
                    Name      = "Informations",
                    Text      = "Informations",
                    TextAlign = HorizontalAlignment.Center,
                });
            }

            foreach (T Entite in Entites)
            {
                VehiculeCaracteristique Caracteristique = Entite as VehiculeCaracteristique;

                ListViewItem NouvelElement = new ListViewItem()
                {
                    Tag  = Entite,
                    Text = Caracteristique.Caracteristique.NomCaracteristique.ToString(),
                };
                NouvelElement.SubItems.Add(Caracteristique.Valeur);
                listViewTechnique.Items.Add(NouvelElement);
            }

            listViewTechnique.Visible = false;
            foreach (ColumnHeader Colonne in listViewTechnique.Columns)
            {
                Colonne.Width = listViewTechnique.Width / listViewTechnique.Columns.Count;
            }

            listViewTechnique.Visible = true;
            listViewTechnique_SelectedIndexChanged(listViewTechnique, EventArgs.Empty);
            return(true);
        }
 private void NouvelleValeurCaracteristique_AvantChangement(VehiculeCaracteristique Entite, VehiculeCaracteristique.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur)
 {
     switch (Champ)
     {
     case VehiculeCaracteristique.Champs.Caracteristique:
         VehiculeCaracteristique CaracteristiqueExiste = Program.GMBD.EnumererVehiculeCaracteristique(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_caracteristique = {0} AND fk_id_vehicule = {1}", listeDeroulanteCaracteristique1.CaracteristiqueSelectionne.Id, listeDeroulanteVehicule1.VehiculeSelectionne.Id), null).FirstOrDefault();
         if (CaracteristiqueExiste != null)
         {
             errorProvider.Clear();
             ValidationProvider.Clear();
             AccumulateurErreur.NotifierErreur("Cette caractéristique existe déjà pour ce véhicule");
         }
         break;
     }
 }
        private void buttonModifierCaract_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();
            ValidationProvider.Clear();
            if (listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne != null)
            {
                VehiculeCaracteristique CaracteristiqueReferencee = Program.GMBD.EnumererVehiculeCaracteristique(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_caracteristique = {0}", listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne.Id), null).FirstOrDefault();
                Caracteristique         CaracteristiqueExiste     = Program.GMBD.EnumererCaracteristique(null, new PDSGBD.MyDB.CodeSql("JOIN type ON caracteristique.fk_id_type = type.id_type"), new PDSGBD.MyDB.CodeSql("WHERE caracteristique = {0} AND type = {1} AND id_caracteristique != {2}", textBoxNomCaract.Text.Trim(), listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne.NomDuType, listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne.Id), null).FirstOrDefault();

                if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.Disponible == 1))
                {
                    errorProvider.SetError(buttonModifierCaract, "Cette caractéristique existe déjà");
                    listeDeroulanteCaracteristique1.CaracteristiqueSelectionne = CaracteristiqueExiste;
                }
                else if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.Disponible == 0) && (CaracteristiqueReferencee == null))
                {
                    CaracteristiqueExiste.SurErreur += NouvelleCaracteristique_SurErreur;
                    CaracteristiqueExiste.Disponible = 1;
                    if ((CaracteristiqueExiste.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueExiste)))
                    {
                        ValidationProvider.SetError(buttonModifier, "La caractéristique a bien été modifiée");
                        RefreshListeCaract();
                        listeDeroulanteCaracteristique1.CaracteristiqueSelectionne = CaracteristiqueExiste;
                    }
                }
                else
                {
                    Caracteristique CaracteristiqueAModifier = listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne;
                    CaracteristiqueAModifier.SurErreur         += NouvelleCaracteristique_SurErreur;
                    CaracteristiqueAModifier.NomCaracteristique = textBoxNomCaract.Text;
                    CaracteristiqueAModifier.TypeVehicule       = listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne;
                    if ((CaracteristiqueAModifier.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueAModifier)))
                    {
                        errorProvider.Clear();
                        ValidationProvider.SetError(buttonModifierCaract, "Caractéristique correctement modifiée");
                        textBoxNomCaract.Text = "";
                        listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne = null;
                        RefreshFicheTechnique();
                        RefreshListeCaract();
                        listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = CaracteristiqueAModifier;
                    }
                }
            }
        }
        private void pictureBoxCaractA_Click(object sender, EventArgs e)
        {
            VehiculeCaracteristique NouvelleValeurCaracteristique = new VehiculeCaracteristique();

            NouvelleValeurCaracteristique.SurErreur       += NouvelleValeurCaracteristique_SurErreur1;;
            NouvelleValeurCaracteristique.AvantChangement += NouvelleValeurCaracteristique_AvantChangement;
            NouvelleValeurCaracteristique.Valeur           = textBoxInfo.Text;
            if (listeDeroulanteVehicule1.VehiculeSelectionne != null)
            {
                NouvelleValeurCaracteristique.Vehicule = listeDeroulanteVehicule1.VehiculeSelectionne;
            }
            else
            {
                errorProvider.SetError(listeDeroulanteVehicule1, "Veuillez sélectionner un véhicule");
            }
            NouvelleValeurCaracteristique.Caracteristique = listeDeroulanteCaracteristique1.CaracteristiqueSelectionne;
            if ((NouvelleValeurCaracteristique.EstValide) && (Program.GMBD.AjouterVehiculeCaracteristique(NouvelleValeurCaracteristique)))
            {
                errorProvider.Clear();
                ValidationProvider.Clear();
                ValidationProvider.SetError(pictureBoxCaractA, "Caractéristique correctement ajoutée");
                RefreshFicheTechnique();
            }
        }
        /// <summary>
        /// Se produit lors du clic sur le bouton d'ajout d'une caractéristique
        /// </summary>
        private void buttonAjouterCaract_Click(object sender, EventArgs e)
        {
            errorProvider.Clear();
            ValidationProvider.Clear();
            Caracteristique CaracteristiqueExiste = Program.GMBD.EnumererCaracteristique(null, new PDSGBD.MyDB.CodeSql("JOIN type ON caracteristique.fk_id_type = type.id_type"), new PDSGBD.MyDB.CodeSql("WHERE caracteristique = {0}", textBoxNomCaract.Text.Trim()), null).FirstOrDefault();

            if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.Disponible == 1) && ((CaracteristiqueExiste.TypeVehicule.NomDuType == listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne.NomDuType)))
            {
                errorProvider.SetError(buttonAjouterCaract, "Cette caractéristique existe déjà");
            }
            else if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.TypeVehicule.NomDuType == ((EstVoiture) ? "Voiture" : "Moto")))
            {
                // Permet de vérifier si l'utilisateur souhaite modifié l'enregistrement existant sous l'autre type de véhicule en générique afin de garder 1 seul enregsitrement pour les 2 véhicules
                if (IndicateurDAjout == 0)
                {
                    errorProvider.SetError(buttonAjouterCaract, "Cette option existe pour les voitures. Pour la passer en générique, veuillez recliquer une deuxième fois sur ajouter. Sinon, cliquez sur annuler");
                    IndicateurDAjout++;
                }
                else if (IndicateurDAjout == 1)
                {
                    CaracteristiqueExiste.TypeVehicule = Program.GMBD.EnumererTypeVehicule(null, null, new PDSGBD.MyDB.CodeSql("WHERE type = \"Générique\""), null).FirstOrDefault();
                    if (CaracteristiqueExiste.Disponible == 0)
                    {
                        CaracteristiqueExiste.Disponible = 1;
                    }
                    if (CaracteristiqueExiste.EstValide && Program.GMBD.ModifierCaracteristique(CaracteristiqueExiste))
                    {
                        RefreshListeCaract();
                        listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = CaracteristiqueExiste;
                        ValidationProvider.SetError(buttonAjouterCaract, "L'option a bien été modifiée et son type est passé à générique");
                    }
                    IndicateurDAjout = 0;
                }
            }
            else if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.Disponible == 0) && (listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne.NomDuType == CaracteristiqueExiste.TypeVehicule.NomDuType))
            {
                CaracteristiqueExiste.Disponible = 1;
                if ((CaracteristiqueExiste.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueExiste)))
                {
                    RefreshListeCaract();
                    ValidationProvider.SetError(buttonAjouterCaract, "La caractéristique a bien été ajoutée");
                    listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = CaracteristiqueExiste;
                }
            }
            else if ((CaracteristiqueExiste != null) && (CaracteristiqueExiste.Disponible == 0) && (listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne.NomDuType != CaracteristiqueExiste.TypeVehicule.NomDuType))
            {
                VehiculeCaracteristique CaracteristiqueReferencee = Program.GMBD.EnumererVehiculeCaracteristique(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_caracteristique = {0}", listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne.Id), null).FirstOrDefault();

                if (CaracteristiqueReferencee != null)
                {
                    CaracteristiqueExiste.Disponible   = 1;
                    CaracteristiqueExiste.TypeVehicule = listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne;
                    if ((CaracteristiqueExiste.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueExiste)))
                    {
                        RefreshListeCaract();
                        ClearCaract();
                        ValidationProvider.SetError(buttonAjouterCaract, "La caractéristique a bien été ajoutée");
                        listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = CaracteristiqueExiste;
                    }
                }
                else
                {
                    CaracteristiqueExiste.TypeVehicule = listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne;
                    if ((CaracteristiqueExiste.EstValide) && (Program.GMBD.ModifierCaracteristique(CaracteristiqueExiste)))
                    {
                        RefreshListeCaract();
                        ClearCaract();
                        ValidationProvider.SetError(buttonAjouterCaract, "La caractéristique a bien été ajoutée");
                        listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = CaracteristiqueExiste;
                    }
                }
            }
            else
            {
                Caracteristique NouvelleCaracteristique = new Caracteristique();
                NouvelleCaracteristique.SurErreur         += NouvelleCaracteristique_SurErreur;
                NouvelleCaracteristique.NomCaracteristique = textBoxNomCaract.Text;
                NouvelleCaracteristique.TypeVehicule       = listeDeroulanteTypeVehicule1.TypeVehiculeSelectionne;
                NouvelleCaracteristique.Disponible         = 1;
                if ((NouvelleCaracteristique.EstValide) && (Program.GMBD.AjouterCaracteristique(NouvelleCaracteristique)))
                {
                    RefreshListeCaract();
                    ValidationProvider.SetError(buttonAjouterCaract, "La caractéristique a bien été ajoutée");
                    listeDeroulanteCaracteristiqueAjouter.CaracteristiqueSelectionne = NouvelleCaracteristique;
                }
            }
        }