public WindowAddEditNiveauUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

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

            InitializeComponent();

            creerModifierNiveauBL = new CreerModifierNiveauBL();

            etat = 0;

            ancienObjet = new NiveauBE();

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

            // Initialisation de la collection, qui va s'afficher dans la DataGrid :
            ListeNiveaux = new ObservableCollection <NiveauBE>();
            List <NiveauBE> LNiveauBE = creerModifierNiveauBL.listerTousLesNiveaux();

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

            // ------------------- Chargement de la liste des codes de Niveau dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbFilterCode.ItemsSource = creerModifierNiveauBL.getListCodeNiveau(LNiveauBE);

            // ------------------- Chargement de la liste des noms de Niveau dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbFilterNom.ItemsSource = creerModifierNiveauBL.getListNomNiveau(LNiveauBE);
        }
 private void cmbChoisir_DropDownClosed(object sender, EventArgs e)
 {
     if (cmbChoisir.Text == AssistanceCreationClasseBL.CHOIX_NOUVEAU)
     {
         txtCode.IsEnabled   = true;
         txtNom.IsEnabled    = true;
         txtNiveau.IsEnabled = true;
         txtCode.Text        = "";
         txtNom.Text         = "";
         txtNiveau.Text      = "";
     }
     else
     {
         codeniveau = cmbChoisir.Text;
         NiveauBE niveau = new NiveauBE();
         niveau.codeNiveau = codeniveau;
         niveau            = assistanceBL.rechercherNiveau(niveau);
         if (niveau != null)
         {
             txtCode.Text        = niveau.codeNiveau;
             txtNom.Text         = niveau.nomNiveau;
             txtNiveau.Text      = niveau.niveau.ToString();
             nomniveau           = niveau.nomNiveau;
             this.niveau         = niveau.niveau;
             txtCode.IsEnabled   = false;
             txtNom.IsEnabled    = false;
             txtNiveau.IsEnabled = false;
         }
     }
 }
 // modifier une niveau
 public bool modifierNiveau(NiveauBE niveau)
 {
     if (niveauDA.modifier(niveau))
     {
         journalDA.journaliser("modification du niveau de code " + niveau.codeNiveau + ". nouveau nom : " + niveau.nomNiveau);
         return(true);
     }
     return(false);
 }
 // supprimer une niveau
 public bool supprinerNiveau(NiveauBE niveau)
 {
     if (niveauDA.supprimer(niveau))
     {
         journalDA.journaliser("suppression du niveau de code " + niveau.codeNiveau + " et de nom " + niveau.nomNiveau);
         return(true);
     }
     return(false);
 }
        //creer une niveau
        public bool creerNiveau(string codeNiveau, string nomNiveau, int niveau)
        {
            NiveauBE niveauBE = new NiveauBE(codeNiveau, nomNiveau, niveau);

            if (niveauDA.ajouter(niveauBE))
            {
                journalDA.journaliser("enregistrement d'un niveau de code " + codeNiveau + " et de nom " + nomNiveau);
                return(true);
            }
            return(false);
        }
        private void grdListeNiveau_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (grdListeNiveau.SelectedIndex != -1)
            {
                etat = 1;
                NiveauBE niveau = new NiveauBE();

                niveau = creerModifierNiveauBL.rechercherNiveau(ListeNiveaux.ElementAt(grdListeNiveau.SelectedIndex));
                // on charge les informations dans le formulaire
                txtCode.Text   = niveau.codeNiveau;
                txtNom.Text    = niveau.nomNiveau;
                txtNiveau.Text = Convert.ToString(niveau.niveau);

                ancienObjet = niveau;

                grdListeNiveau.UnselectAll();
            }
        }
 internal bool enregistrerNiveau(NiveauBE niveau)
 {
     return(niveauDA.ajouter(niveau));
 }
 internal NiveauBE rechercherNiveau(NiveauBE niveau)
 {
     return(niveauDA.rechercher(niveau));
 }
        private void cmdSuivant_Click(object sender, RoutedEventArgs e)
        {
            Color color = (Color)ColorConverter.ConvertFromString("#FF86B5E8");

            if (numeroEtape == 4)
            {
                cmdSuivant.Content = "Terminer";
            }
            else
            {
                cmdSuivant.Content = "Suivant";
            }

            switch (numeroEtape)
            {
            case 1:
                codecycle = etape1.codecycle;
                nomcycle  = etape1.nomcycle;
                panelForm.Children.Clear();
                if (codeniveau == "")
                {
                    etape2 = new Etape2CreationClasse();
                }
                else
                {
                    etape2 = new Etape2CreationClasse(codeniveau, nomniveau, level);
                }
                panelForm.Children.Add(etape2);
                numeroEtape          = 2;
                lblCycle.Background  = new System.Windows.Media.SolidColorBrush(color);
                lblNiveau.Background = Brushes.LightGray;
                break;

            case 2:
                codeniveau = etape2.codeniveau;
                nomniveau  = etape2.nomniveau;
                level      = etape2.niveau;
                panelForm.Children.Clear();
                if (codetypeclasse == "")
                {
                    etape3 = new Etape3CreationClasse();
                }
                else
                {
                    etape3 = new Etape3CreationClasse(codetypeclasse, nomtypeclasse, frais);
                }
                panelForm.Children.Add(etape3);
                numeroEtape          = 3;
                lblNiveau.Background = new System.Windows.Media.SolidColorBrush(color);
                lblType.Background   = Brushes.LightGray;
                break;

            case 3:
                codetypeclasse = etape3.codetype;
                nomtypeclasse  = etape3.nomtype;
                frais          = etape3.fraisInscription;
                numeroEtape    = 4;
                panelForm.Children.Clear();
                if (codeserie == "")
                {
                    etape4 = new Etape4CreationClasse();
                }
                else
                {
                    etape4 = new Etape4CreationClasse(codeserie, nomserie);
                }
                panelForm.Children.Add(etape4);
                lblType.Background  = new System.Windows.Media.SolidColorBrush(color);
                lblSerie.Background = Brushes.LightGray;
                break;

            case 4:
                codeserie   = etape4.codeserie;
                nomserie    = etape4.nomserie;
                numeroEtape = 5;
                panelForm.Children.Clear();
                etape5 = new Etape5CreationClasse(etape1.codecycle, etape2.codeniveau, etape3.codetype, etape4.codeserie);
                panelForm.Children.Add(etape5);
                lblSerie.Background    = new System.Windows.Media.SolidColorBrush(color);
                lblFinition.Background = Brushes.LightGray;
                break;

            case 5:
                //si on cree un noueau cycle
                CycleBE cycle = new CycleBE(etape1.codecycle, etape1.nomcycle);
                assistanceBL.enregistrerCycle(cycle);

                //si on cree un noueau niveau
                NiveauBE niveau = new NiveauBE(etape2.codeniveau, etape2.nomniveau, etape2.niveau);
                assistanceBL.enregistrerNiveau(niveau);

                //si on cree un noueau type
                TypeclasseBE type = new TypeclasseBE(etape3.codetype, etape3.nomtype, etape3.fraisInscription);
                assistanceBL.enregistrerTypeClasse(type);

                //si on cree une nouvelle serie
                SerieBE serie = new SerieBE(etape4.codeserie, etape4.nomserie);
                assistanceBL.enregistrerSerie(serie);

                //enregistrement de la classe
                ClasseBE classe = new ClasseBE(etape5.codeclasse, cycle.codeCycle, type.codetypeclasse, serie.codeserie, niveau.codeNiveau, etape5.nomclasse);
                if (assistanceBL.enregistrerClasse(classe))
                {
                    MessageBox.Show("School brain : Information", "Classe cree avec succes", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    MessageBox.Show("School brain : Information", "Classe non enregistree", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }

                codecycle      = "";
                nomcycle       = "";
                codeniveau     = "";
                nomniveau      = "";
                level          = 0;
                codetypeclasse = "";
                nomtypeclasse  = "";
                frais          = 0;
                codeserie      = "";
                nomserie       = "";
                numeroEtape    = 1;
                panelForm.Children.Clear();
                etape1 = new Etape1CreationClasse();
                panelForm.Children.Add(etape1);
                lblFinition.Background = new System.Windows.Media.SolidColorBrush(color);
                lblCycle.Background    = Brushes.LightGray;

                break;
            }
        }
        private void cmdValider_Click(object sender, RoutedEventArgs e)
        {
            if ((txtCode.Text != null && txtNom.Text != null && txtNiveau.Text != null) && (txtCode.Text != "" && txtNom.Text != "" && txtNiveau.Text != ""))
            {
                NiveauBE niveau = new NiveauBE();
                niveau.codeNiveau = txtCode.Text;
                niveau.nomNiveau  = txtNom.Text;
                niveau.niveau     = Convert.ToInt16(txtNiveau.Text);

                if (etat == 1)
                {
                    creerModifierNiveauBL.modifierNiveau(ancienObjet, niveau);
                    List <NiveauBE> LNiveauBE = creerModifierNiveauBL.listerTousLesNiveaux();
                    // on met la liste "LNiveauBE" dans le DataGrid
                    RemplirDataGrid(LNiveauBE);

                    // ------------------- Chargement de la liste des codes de Niveau dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    cmbFilterCode.ItemsSource = creerModifierNiveauBL.getListCodeNiveau(LNiveauBE);

                    // ------------------- Chargement de la liste des noms de Niveau dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    cmbFilterNom.ItemsSource = creerModifierNiveauBL.getListNomNiveau(LNiveauBE);

                    txtCode.Text   = "";
                    txtNom.Text    = "";
                    txtNiveau.Text = "";
                    etat           = 0;
                }
                else if (creerModifierNiveauBL.rechercherNiveau(niveau) == null)
                {
                    if (creerModifierNiveauBL.creerNiveau(txtCode.Text, txtNom.Text, Convert.ToInt16(txtNiveau.Text)))
                    {
                        MessageBox.Show("Enregistrement Niveau [" + txtCode.Text + ", " + txtNom.Text + ", " + txtNiveau.Text + "] " + " : Opération réussie");
                        txtCode.Text   = "";
                        txtNom.Text    = "";
                        txtNiveau.Text = "";

                        // Initialisation de la collection, qui va s'afficher dans la DataGrid :
                        List <NiveauBE> LNiveauBE = creerModifierNiveauBL.listerTousLesNiveaux();
                        // on met la liste "LSerieBE" dans le DataGrid
                        RemplirDataGrid(LNiveauBE);

                        // ------------------- Chargement de la liste des codes de série dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbFilterCode.ItemsSource = creerModifierNiveauBL.getListCodeNiveau(LNiveauBE);

                        // ------------------- Chargement de la liste des noms de série dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbFilterNom.ItemsSource = creerModifierNiveauBL.getListNomNiveau(LNiveauBE);
                    }
                    else
                    {
                        MessageBox.Show("Echec enregistrement : une erreure est survenue !");
                    }
                }
                else
                {
                    MessageBox.Show("Un Niveau ayant le code \"" + txtCode.Text + "\" existe deja dans le système \n \n Veuillez changer de code SVP !");
                }
            }
            else
            {
                MessageBox.Show("Tous les champs doivent êtres remplis !");
            }
        }
 // rechercher une niveau
 public NiveauBE rechercherNiveau(NiveauBE NiveauBE)
 {
     return(niveauDA.rechercher(NiveauBE));
 }