private void cmdEnregistrer_Click(object sender, RoutedEventArgs e)
        {
            if (validerFormulaire())
            {
                DisciplineBE discipline = new DisciplineBE();
                discipline.codeSanction = txtCodeSanction.Text;
                discipline.nomSanction  = txtNomSanction.Text;
                discipline.variable     = cmbVariable.SelectedValue.ToString();
                discipline.unite        = cmbVariable.SelectedValue.ToString().ElementAt(0).ToString();
                discipline.priorite     = Convert.ToInt16(txtPriorite.Text);

                if (typeValidation == TYPE_ENREGISTRER)
                {
                    if (disciplineBL.enregistrerDiscpline(discipline))
                    {
                        MessageBox.Show("Enregistrement effectué", "School brain : Alerte", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        MessageBox.Show("Enregistrement échoué", "School brain : Alerte", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }
                else
                {
                    if (disciplineBL.modifierDiscipline(old_discipline, discipline))
                    {
                        MessageBox.Show("Mise à jour effectuée", "School brain : Alerte", MessageBoxButton.OK, MessageBoxImage.Information);
                        //disciplines.Remove(old_discipline);
                    }
                    else
                    {
                        MessageBox.Show("Mise à jour échouée", "School brain : Alerte", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }
                disciplines.Clear();
                disciplines          = disciplineBL.listerToutDiscipline();
                grdListe.ItemsSource = disciplines;
                grdListe.Items.Refresh();
                txtCodeSanction.Clear();
                txtNomSanction.Clear();
                txtPriorite.Clear();
                typeValidation = TYPE_ENREGISTRER;
            }
            else
            {
                MessageBox.Show("il y'a des champs vides, remplir tous les champs du formulaire", "School brain : alerte", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        public DisciplineUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

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

            InitializeComponent();

            disciplineBL   = new GestionDisciplineBL();
            old_discipline = new DisciplineBE();
            typeValidation = TYPE_ENREGISTRER;
            disciplines    = new List <DisciplineBE>();
            variable       = new List <string>()
            {
                "Heure", "Jour", "Mois"
            };

            disciplines               = disciplineBL.listerToutDiscipline();
            grdListe.ItemsSource      = disciplines;
            cmbVariable.ItemsSource   = variable;
            cmbVariable.SelectedIndex = 0;
        }
        private void cmdImprimer_Click(object sender, RoutedEventArgs e)
        {
            string type   = "jour";
            int    numero = 1;
            string titre;

            if (cmbClasse.SelectedValue != null && txtAnnee.Text != "")
            {
                listInscrits = new List <InscrireBE>();
                string codeclasse = cmbClasse.SelectedValue.ToString();
                classe.codeClasse = codeclasse;
                classe            = eleveBL.rechercherClasse(classe);
                listDiscipline    = disciplineBL.listerToutDiscipline();
                listLigneFiche    = new List <LigneFicheDiscipline>();

                try
                {
                    int     annee = Convert.ToInt32(txtAnnee.Text);
                    EleveBE eleve = new EleveBE();
                    listInscrits = eleveBL.listerSuivantCritereInscrire(codeclasse, annee);

                    if (listInscrits != null)
                    {
                        numero = 1;
                        foreach (InscrireBE i in listInscrits)
                        {
                            eleve.matricule = i.matricule;
                            eleve           = eleveBL.rechercherEleve(eleve);
                            LigneFicheDiscipline ligneFiche = new LigneFicheDiscipline(numero++, eleve.nom, eleve.matricule, listDiscipline);
                            listLigneFiche.Add(ligneFiche);
                        }
                    }

                    // definir le titre-----------------------------
                    if (radioHebdo.IsChecked == true)
                    {
                        titre = "Fiche de discipline Hebdomadaire";
                    }
                    else
                    {
                        titre = "Fiche de discipline Journalière";
                    }


                    CreerEtat     etat    = new CreerEtat("fiche discipline- " + cmbClasse.Text + "_" + txtAnnee.Text, titre);
                    List <string> headers = new List <string>();
                    headers.Add("Num "); headers.Add("Noms et Prénoms"); headers.Add("Matricule ");

                    if (listDiscipline != null)
                    {
                        foreach (DisciplineBE d in listDiscipline)
                        {
                            headers.Add(d.codeSanction + "(" + d.unite + ")");
                        }
                    }


                    if (radioHebdo.IsChecked == true)
                    {
                        // headers.Add("Total");
                        type = "hebdo";
                    }

                    //trier la liste avant d'envoyer à létat
                    if (listLigneFiche != null)
                    {
                        List <LigneFicheDiscipline> newList = listLigneFiche.OrderBy(o => o.nom).ToList();
                        listLigneFiche.Clear();
                        numero = 1;
                        foreach (LigneFicheDiscipline ligne in newList)
                        {
                            ligne.numero = numero++;
                            listLigneFiche.Add(ligne);
                        }
                    }
                    etat.etatFicheDeDiscipline(listLigneFiche, headers, classe, txtAnnee.Text, type);
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
            }
        }