Exemplo n.º 1
0
 internal void enregistrerSanctionner(SanctionnerBE sanctionner)
 {
     if (sanctionnerDA.ajouter(sanctionner))
     {
         journalDA.journaliser("Enregistrement d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule);
     }
 }
 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 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);
                }
            }
        }