private void cmdValider_Click(object sender, RoutedEventArgs e)
        {
            if ((txtCode.Text != null && cmbType.Text != null && cmbNiveau.Text != null && cmbCycle.Text != null && txtNom.Text != null) &&
                (txtCode.Text != "" && cmbType.Text != "" && cmbNiveau.Text != "" && cmbCycle.Text != "" && txtNom.Text != ""))
            { // si tous les champs sont non vides
                ClasseBE classe = new ClasseBE();
                classe.codeClasse = txtCode.Text;
                classe.codeCycle  = cmbCycle.Text;
                classe.codeNiveau = cmbNiveau.Text;
                if (cmbSerie.Text == "")
                {
                    classe.codeSerie = null;
                }
                else
                {
                    classe.codeSerie = cmbSerie.Text;
                }
                classe.codeTypeClasse = cmbType.Text;
                classe.nomClasse      = txtNom.Text;

                if (etat == 1)
                {
                    creerModifierClasseBL.modifierClasse(ancienObjet, classe);
                    List <ClasseBE> LClasseBE = creerModifierClasseBL.listerTousLesClasse();
                    // on met la liste "LSerieBE" dans le DataGrid
                    RemplirDataGrid(LClasseBE);

                    // ------------------- Chargement de la liste des codes de Classe dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    cmbFilterCode.ItemsSource = creerModifierClasseBL.getListCodeClasse(LClasseBE);

                    txtCode.Text   = "";
                    cmbCycle.Text  = null;
                    cmbNiveau.Text = null;;
                    cmbSerie.Text  = null;
                    cmbType.Text   = null;
                    txtNom.Text    = "";

                    etat = 0;
                }
                else if (creerModifierClasseBL.rechercherClasse(new ClasseBE(classe.codeClasse, classe.codeCycle, classe.codeTypeClasse, classe.codeSerie, classe.codeNiveau, classe.nomClasse)) == null)
                {     // si une Classe possédant le même code n'existe pas deja dans la BD
                    if (creerModifierClasseBL.creerClasse(classe.codeClasse, classe.codeCycle, classe.codeTypeClasse, classe.codeSerie, classe.codeNiveau, classe.nomClasse))
                    { // si l'nregistrement a réussi
                        MessageBox.Show("Opération réussie");
                        txtCode.Text   = "";
                        cmbCycle.Text  = null;
                        cmbType.Text   = null;
                        cmbSerie.Text  = null;
                        cmbNiveau.Text = null;
                        txtNom.Text    = "";

                        List <ClasseBE> LClasseBE = creerModifierClasseBL.listerTousLesClasse();
                        //on rafraichir le DataGrid
                        RemplirDataGrid(LClasseBE);
                        // ------------------- Chargement de la liste des codes de série dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbFilterCode.ItemsSource = creerModifierClasseBL.getListCodeClasse(LClasseBE);
                        cmbFilterCode.ItemsSource = cmbFilterCode.ItemsSource;

                        List <CycleBE> LCycleBE = creerModifierCycleBL.listerToutesLesCycle();
                        // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbCycle.ItemsSource = creerModifierClasseBL.getListCodeCycle2(LCycleBE);

                        cmbFilterCycle.ItemsSource = creerModifierClasseBL.getListCodeCycle(LCycleBE);

                        List <TypeclasseBE> LTypeClasseBE = creerModifierTypeClasseBL.listerTousLesTypeClasse();
                        // ------------------- Chargement de la liste des codes de Type de classe dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbType.ItemsSource = creerModifierClasseBL.getListCodeTypeClasse2(LTypeClasseBE);

                        cmbFilterType.ItemsSource = creerModifierClasseBL.getListCodeTypeClasse(LTypeClasseBE);

                        List <NiveauBE> LTypeNiveauBE = creerModifierNiveauBL.listerTousLesNiveaux();
                        // ------------------- Chargement de la liste des Niveaux dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbNiveau.ItemsSource = creerModifierClasseBL.getListCodeNiveau2(LTypeNiveauBE);

                        cmbFilterNiveau.ItemsSource = creerModifierClasseBL.getListCodeNiveau(LTypeNiveauBE);

                        List <SerieBE> LTypeSerieBE = creerModifierSerieBL.listerToutesLesSeries();
                        // ------------------- Chargement de la liste des Série dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbSerie.ItemsSource = creerModifierClasseBL.getListCodeSerie2(LTypeSerieBE);

                        cmbFilterSerie.ItemsSource = creerModifierClasseBL.getListCodeSerie(LTypeSerieBE);
                    }
                    else
                    {
                        MessageBox.Show("Echec enregistrement : une erreure est survenue !");
                    }
                }
                else
                {
                    MessageBox.Show("Une Classe ayant le code \"" + txtCode.Text + "\" existe deja dans le système \n \n Veuillez changer de code SVP !");
                }
            }
            else
            {
                MessageBox.Show("Tous les champs marqués par un astérix (*) doivent pas être remplis !");
            }
        }
        public WindowAddEditClasseUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

            ci.DateTimeFormat.ShortDatePattern  = "dd-MM-yyyy";
            Thread.CurrentThread.CurrentCulture = ci;

            InitializeComponent();

            creerModifierClasseBL     = new CreerModifierClasseBL();
            creerModifierCycleBL      = new CreerModifierCycleBL();
            creerModifierTypeClasseBL = new CreerModifierTypeClasseBL();
            creerModifierNiveauBL     = new CreerModifierNiveauBL();
            creerModifierSerieBL      = new CreerModifierSerieBL();

            // A mettre pour que le binding avec le DataGrid fonctionne !
            grdListeClasse.DataContext = this;

            etat = 0;

            ancienObjet = new ClasseBE();

            // Initialisation de la collection, qui va s'afficher dans la DataGrid :
            ListeClasses = new ObservableCollection <ClasseBE>();
            List <ClasseBE> LClasseBE = creerModifierClasseBL.listerTousLesClasse();

            // on met la liste "LClasseBE" dans le DataGrid
            RemplirDataGrid(LClasseBE);

            // ------------------- Chargement de la liste des cycles dans le comboBox de la fenêtre
            // uitle pour le filtre
            cmbFilterCode.ItemsSource = creerModifierClasseBL.getListCodeClasse(LClasseBE);

            // ------------------- Chargement de la liste des cycles dans le comboBox de la fenêtre
            List <CycleBE> listeCycle = creerModifierCycleBL.listerToutesLesCycle();

            cmbCycle.ItemsSource = creerModifierClasseBL.getListCodeCycle2(listeCycle);

            cmbFilterCycle.ItemsSource = creerModifierClasseBL.getListCodeCycle(listeCycle);

            // ------------------- Chargement de la liste des types de Classe dans le comboBox de la fenêtre
            List <TypeclasseBE> listeTypeclasse = creerModifierTypeClasseBL.listerTousLesTypeClasse();

            cmbType.ItemsSource = creerModifierClasseBL.getListCodeTypeClasse2(listeTypeclasse);

            cmbFilterType.ItemsSource = creerModifierClasseBL.getListCodeTypeClasse(listeTypeclasse);

            // ------------------- Chargement de la liste des Niveaux dans le comboBox de la fenêtre
            List <NiveauBE> listeNiveau = creerModifierNiveauBL.listerTousLesNiveaux();

            cmbNiveau.ItemsSource = creerModifierClasseBL.getListCodeNiveau2(listeNiveau);

            cmbFilterNiveau.ItemsSource = creerModifierClasseBL.getListCodeNiveau(listeNiveau);

            // ------------------- Chargement de la liste des Série dans le comboBox de la fenêtre

            List <SerieBE> listeSerie = creerModifierSerieBL.listerToutesLesSeries();

            cmbSerie.ItemsSource = creerModifierClasseBL.getListCodeSerie2(listeSerie);

            cmbFilterSerie.ItemsSource = creerModifierClasseBL.getListCodeSerie(listeSerie);
        }