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); } } }