예제 #1
0
 private void grdListe_KeyUp(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Delete)
     {
         if (MessageBox.Show("Voulez vous supprimer?", "School : Confirmation", System.Windows.MessageBoxButton.YesNo) == MessageBoxResult.Yes)
         {
             if (grdListe.SelectedIndex != -1)
             {
                 SanctionnerBE sanction = new SanctionnerBE();
                 sanction = sanctionners.ElementAt(grdListe.SelectedIndex);
                 sanctionEleveBL.supprimerSanctionner(sanction);
                 sanctionners.Remove(sanction);
                 grdListe.ItemsSource = sanctionners;
                 grdListe.Items.Refresh();
                 cmbSanction.Text      = "";
                 cmbSequence.Text      = "";
                 typeValidation        = TYPE_ENREGISTRER;
                 cmbEtat.SelectedIndex = cmbEtat.Items.IndexOf("NON JUSTIFIEE");
             }
             else
             {
                 MessageBox.Show("Aucune ligne sélectionnée", "School brain:Alerte");
             }
         }
     }
 }
예제 #2
0
 internal void enregistrerSanctionner(SanctionnerBE sanctionner)
 {
     if (sanctionnerDA.ajouter(sanctionner))
     {
         journalDA.journaliser("Enregistrement d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule);
     }
 }
 internal void supprimerSanctionner(SanctionnerBE sanction)
 {
     if (sanctionnerDA.supprimer(sanction))
     {
         journalDA.journaliser("Suppression d'une sanction - " + sanction.codesanction + " - " + sanction.matricule);
     }
 }
예제 #4
0
        private void grdListe_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            int         COLUMN_NOMBRE = 3;
            int         MAX_ROW       = lignes.Count;
            var         grid          = sender as DataGrid;
            DataGridRow row           = new DataGridRow();

            if (e.Key == Key.Return)
            {
                e.Handled = true;

                string        classe    = cmbClasse.SelectedValue.ToString();
                string        sequence  = cmbSequence.SelectedValue.ToString();
                string        sanction  = cmbSanction.Text.Split('-')[0].Trim();
                LigneSanction ligne     = new LigneSanction();
                int           row_index = grdListe.Items.IndexOf(grdListe.CurrentItem);
                int           col_index = grdListe.CurrentColumn.DisplayIndex;
                row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(row_index);
                SanctionnerBE sanctionner = new SanctionnerBE();
                sanctionner.annee        = annee;
                sanctionner.codesanction = sanction;
                sanctionner.datesanction = DateTime.Today;
                sanctionner.sequence     = sequence;
                sanctionner.etat         = NON_JUSTIFIEE;

                if (col_index == COLUMN_NOMBRE)
                {
                    DataGridCellInfo cell = grid.SelectedCells[0];
                    TextBox          textBox;
                    try
                    {
                        textBox = (TextBox)cell.Column.GetCellContent(cell.Item);
                        ligne   = lignes.ElementAt(row_index);
                        sanctionner.matricule = ligne.matricule;
                        try
                        {
                            sanctionner.quantité = Convert.ToInt32(textBox.Text);
                            sanctionClasseBL.enregistrerSanctionner(sanctionner);
                            row_index = (row_index + 1) % MAX_ROW;
                            SelectCellByIndex(grdListe, row_index, COLUMN_NOMBRE);
                        }
                        catch (FormatException)
                        {
                            MessageBox.Show("Le nombre doit être un entier");
                            textBox.Text = "";
                        }
                    }
                    catch
                    {
                        row_index = (row_index + 1) % MAX_ROW;
                        SelectCellByIndex(grdListe, row_index, COLUMN_NOMBRE);
                    }
                }
                else
                {
                    MessageBox.Show("cellule non modifiable");
                }
            }
        }
예제 #5
0
        private void cmdEnregistrer_Click(object sender, RoutedEventArgs e)
        {
            if (validerFormulaire())
            {
                string matricule = txtMatricule.Text;
                string sanction  = cmbSanction.Text.Split('-')[0].Trim();
                string sequence  = cmbSequence.SelectedValue.ToString();
                int    quantite  = Convert.ToInt32(txtQuantite.Text);
                try
                {
                    etat = cmbEtat.SelectedValue.ToString();
                }
                catch (Exception) { etat = "NON JUSTIFIEE"; }
                DateTime date = DateTime.Today;

                SanctionnerBE sanctionner = new SanctionnerBE(sanction, matricule, annee, quantite, date, sequence, etat);
                if (typeValidation == TYPE_ENREGISTRER)
                {
                    if (sanctionEleveBL.enregistrerSanctionner(sanctionner))
                    {
                        MessageBox.Show("Enregistrement réussi", "School brain:Alerte");
                        sanctionners.Add(sanctionner);
                    }
                    else
                    {
                        MessageBox.Show("Enregistrement échoué", "School brain:Alerte");
                    }
                }
                else
                {
                    if (sanctionEleveBL.modifierSanctionner(ancien_sanction, sanctionner))
                    {
                        MessageBox.Show("Mise à jour effectuée", "School brain : Alerte");
                        sanctionners.Add(sanctionner);
                        sanctionners.Remove(ancien_sanction);
                    }
                    else
                    {
                        MessageBox.Show("Mise à jour échouée", "School brain : Alerte");
                    }
                }
                grdListe.Items.Refresh();
                txtQuantite.Text = "";

                cmbEleve.Text         = "";
                txtMatricule.Text     = "";
                cmbSanction.IsEnabled = true;
                cmbSequence.IsEnabled = true;
                cmbEtat.IsEnabled     = true;
                typeValidation        = TYPE_ENREGISTRER;
            }
            else
            {
                MessageBox.Show("il y'a des champs vides, remplir tous les champs du formulaire", "School brain : alerte");
            }
        }
 internal bool modifierSanctionner(SanctionnerBE ancien_sanction, SanctionnerBE sanctionner)
 {
     if (sanctionnerDA.modifier(ancien_sanction, sanctionner))
     {
         journalDA.journaliser("Modification d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule);
         return(true);
     }
     else
     {
         return(false);
     }
 }
 internal bool enregistrerSanctionner(SanctionnerBE sanctionner)
 {
     if (sanctionnerDA.ajouter(sanctionner))
     {
         journalDA.journaliser("Enregistrement d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule);
         return(true);
     }
     else
     {
         return(false);
     }
 }
        //fonction qui teste si une blame ou un avertissement à déja été défini pour un élève
        public bool testSiDejaDefiniBlameOuAvertissement(SanctionnerBE sanction)
        {
            SanctionnerDA sanctionDA = new SanctionnerDA();
            SanctionnerBE s          = sanctionDA.rechercherSuivantTousLesChampsSaufLaDate(sanction);

            if (s != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #9
0
        public SaisirSanctionEleveUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

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

            InitializeComponent();
            sanctionEleveBL = new GestionSanctionEleveBL();
            sanctionners    = new List <SanctionnerBE>();
            ancien_sanction = new SanctionnerBE();
            sanctions       = new List <string>();
            sequences       = new List <string>();
            disciplines     = new List <DisciplineBE>();
            eleves          = new List <string>();
            classes         = new List <string>();
            eleve           = new EleveBE();
            List <string> etats = new List <string>()
            {
                "NON JUSTIFIEE", "JUSTIFIEE"
            };

            cmbEtat.ItemsSource = etats;
            disciplines         = sanctionEleveBL.listerToutDiscipline();
            if (disciplines != null)
            {
                foreach (DisciplineBE d in disciplines)
                {
                    sanctions.Add(d.codeSanction + " - " + d.nomSanction);
                }
            }
            sequences = sanctionEleveBL.listerValeurColonneSequence("codeseq");
            cmbSanction.ItemsSource   = sanctions;
            cmbSanction.SelectedIndex = 0;
            cmbSequence.ItemsSource   = sequences;
            cmbEtat.SelectedIndex     = 1;
            annee                 = sanctionEleveBL.anneeEnCours();
            txtAnnee.Text         = " / " + annee;
            txtAnneeScolaire.Text = (annee - 1).ToString();
            typeValidation        = TYPE_ENREGISTRER;

            classes = sanctionEleveBL.listerValeurColonneClasse("codeclasse");
            cmbClasse.ItemsSource = classes;
        }
예제 #10
0
        private void grdListe_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (grdListe.SelectedIndex >= 0)
            {
                DisciplineBE d = new DisciplineBE();
                ancien_sanction = sanctionners.ElementAt(grdListe.SelectedIndex);
                d.codeSanction  = ancien_sanction.codesanction;
                d = sanctionEleveBL.rechercherDiscipline(d);
                cmbSanction.SelectedIndex = cmbSanction.Items.IndexOf(d.codeSanction + " - " + d.nomSanction);
                cmbSequence.SelectedIndex = cmbSequence.Items.IndexOf(ancien_sanction.sequence);
                cmbEtat.SelectedIndex     = cmbEtat.Items.IndexOf(ancien_sanction.etat);
                Console.WriteLine(cmbSequence.Items.IndexOf(ancien_sanction.etat) + " " + ancien_sanction.etat);
                etat             = ancien_sanction.etat;
                txtQuantite.Text = ancien_sanction.quantité.ToString();

                cmbSanction.IsEnabled = false;
                cmbSequence.IsEnabled = false;
                cmbEtat.IsEnabled     = false;
                typeValidation        = TYPE_MODIFIER;
            }
        }
        //fonction qui défini les avertissements et les blâmes d'un élève en fontion de son nbre d'heure d'absence

        /*
         * avec un nbre d'absence injustifiées dans l'intervalle [7h, 15h[, l'élève à un avertissement
         * avec un nbre d'absence injustifiées dans l'intervalle [15h, 30h[, l'élève à une blâme
         */
        public void DefinirLesAvertissementsEtBlamesDunEleve(String matricule, String codeSequence, int annee)
        {
            //on liste les sanctions de l'élève
            List <SanctionnerBE> ListSanction = sanctionnerDA.getListSanctionSequentielleEleve(matricule, annee, codeSequence);

            int nbAbsenceNonJustifiees = 0; // le nombre d"absence non justifiées de l'élève
            int nbAbsenceJustifiees    = 0; // le nombre d"absence non justifiées de l'élève

            for (int i = 0; i < ListSanction.Count; i++)
            {
                DisciplineBE discipline = new DisciplineBE();
                discipline.codeSanction = ListSanction.ElementAt(i).codesanction;
                discipline = disciplineDA.rechercher(discipline);
                if (discipline.nomSanction.ToLower().Contains("absence") && ListSanction.ElementAt(i).etat.Equals("NON JUSTIFIEE"))
                {
                    nbAbsenceNonJustifiees = nbAbsenceNonJustifiees + ListSanction.ElementAt(i).quantité;
                }
                else if (discipline.nomSanction.ToLower().Contains("absence") && ListSanction.ElementAt(i).etat.Equals("JUSTIFIEE"))
                {
                    nbAbsenceJustifiees = nbAbsenceJustifiees + ListSanction.ElementAt(i).quantité;
                }
            }

            nbAbsenceNonJustifiees = nbAbsenceNonJustifiees - nbAbsenceJustifiees;

            //********************************** Si on lui avait deja defini des avertissement / blâmes / blame, on les supprimes dabord
            SanctionnerBE s2          = new SanctionnerBE();
            DisciplineBE  discipline2 = disciplineDA.rechercherByNom("avertissement");

            if (discipline2 != null)
            {
                s2.codesanction = discipline2.codeSanction;
                s2.matricule    = matricule;
                s2.annee        = annee;
                s2.quantité     = 1;
                s2.datesanction = System.DateTime.Today.Date;
                s2.sequence     = codeSequence;
                s2.etat         = "NON JUSTIFIEE";

                if (testSiDejaDefiniBlameOuAvertissement(s2))
                {
                    sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2);
                }
            }

            s2          = new SanctionnerBE();
            discipline2 = disciplineDA.rechercherByNom("blame");
            if (discipline2 != null)
            {
                s2.codesanction = discipline2.codeSanction;
                s2.matricule    = matricule;
                s2.annee        = annee;
                s2.quantité     = 1;
                s2.datesanction = System.DateTime.Today.Date;
                s2.sequence     = codeSequence;
                s2.etat         = "NON JUSTIFIEE";

                if (testSiDejaDefiniBlameOuAvertissement(s2))
                {
                    sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2);
                }
            }

            discipline2 = disciplineDA.rechercherByNom("blâme");

            if (discipline2 != null)
            {
                s2.codesanction = discipline2.codeSanction;
                s2.matricule    = matricule;
                s2.annee        = annee;
                s2.quantité     = 1;
                s2.datesanction = System.DateTime.Today.Date;
                s2.sequence     = codeSequence;
                s2.etat         = "NON JUSTIFIEE";

                if (testSiDejaDefiniBlameOuAvertissement(s2))
                {
                    sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2);
                }
            }

            //********************FIN suppression des avertissement / blâmes / blame précédemment enregistrées

            if (nbAbsenceNonJustifiees >= 7 && nbAbsenceNonJustifiees < 15)
            {
                //on ajoute un avertissement à l'élève
                SanctionnerBE s          = new SanctionnerBE();
                DisciplineBE  discipline = disciplineDA.rechercherByNom("avertissement");
                if (discipline != null)
                {
                    s.codesanction = discipline.codeSanction;
                    s.matricule    = matricule;
                    s.annee        = annee;
                    s.quantité     = 1;
                    s.datesanction = System.DateTime.Today.Date;
                    s.sequence     = codeSequence;
                    s.etat         = "NON JUSTIFIEE";

                    if (testSiDejaDefiniBlameOuAvertissement(s))
                    {
                        sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s);
                    }
                    sanctionnerDA.ajouter(s);
                }
            }
            else if (nbAbsenceNonJustifiees >= 15 && nbAbsenceNonJustifiees < 30)
            {
                //on ajoute une blâme à l'élève
                SanctionnerBE s          = new SanctionnerBE();
                DisciplineBE  discipline = disciplineDA.rechercherByNom("blame");
                if (discipline != null)
                {
                    s.codesanction = discipline.codeSanction;
                    s.matricule    = matricule;
                    s.annee        = annee;
                    s.quantité     = 1;
                    s.datesanction = System.DateTime.Today.Date;
                    s.sequence     = codeSequence;
                    s.etat         = "NON JUSTIFIEE";

                    if (testSiDejaDefiniBlameOuAvertissement(s))
                    {
                        sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s);
                    }
                    sanctionnerDA.ajouter(s);
                }
                else
                {
                    discipline = disciplineDA.rechercherByNom("blâme");

                    if (discipline != null)
                    {
                        s.codesanction = discipline.codeSanction;
                        s.matricule    = matricule;
                        s.annee        = annee;
                        s.quantité     = 1;
                        s.datesanction = System.DateTime.Today.Date;
                        s.sequence     = codeSequence;
                        s.etat         = "NON JUSTIFIEE";

                        if (testSiDejaDefiniBlameOuAvertissement(s))
                        {
                            sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s);
                        }
                        sanctionnerDA.ajouter(s);
                    }
                }

                //on ajoute un avertissement à l'élève
                s          = new SanctionnerBE();
                discipline = disciplineDA.rechercherByNom("avertissement");
                if (discipline != null)
                {
                    s.codesanction = discipline.codeSanction;
                    s.matricule    = matricule;
                    s.annee        = annee;
                    s.quantité     = 1;
                    s.datesanction = System.DateTime.Today.Date;
                    s.sequence     = codeSequence;
                    s.etat         = "NON JUSTIFIEE";

                    if (testSiDejaDefiniBlameOuAvertissement(s))
                    {
                        sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s);
                    }
                    sanctionnerDA.ajouter(s);
                }
            }
        }