public void enregistrerAppreciationMoyenne(string matricule, string periode, string choixPeriode, string codeMatiere, int annee, string appreciation) { List <MoyennesBE> ListMoyennes = new List <MoyennesBE>(); if (periode.Equals("Séquence")) { ListMoyennes = moyennesDA.listerSuivantCritere(" matricule = '" + matricule + "' AND codeSeq = '" + choixPeriode + "' AND annee = '" + annee + "' AND codeMat = '" + codeMatiere + "'"); } else if (periode.Equals("Trimestre")) { ListMoyennes = moyennesDA.listerSuivantCritere(" matricule = '" + matricule + "' AND codeTrimestre = '" + choixPeriode + "' AND annee = '" + annee + "' AND codeMat = '" + codeMatiere + "'"); } else if (periode.Equals("Année")) { ListMoyennes = moyennesDA.listerSuivantCritere(" matricule = '" + matricule + "' AND annee = '" + annee + "' AND codeMat = '" + codeMatiere + "'"); } if (ListMoyennes != null && ListMoyennes.Count != 0) { MoyennesBE ancienneMoyenne = new MoyennesBE(); ancienneMoyenne = ListMoyennes.ElementAt(0); MoyennesBE nouvelleMoyenne = new MoyennesBE(); nouvelleMoyenne = ancienneMoyenne; nouvelleMoyenne.appreciation = appreciation; modifierMoyenne(ancienneMoyenne, nouvelleMoyenne); } }
//********************************** Fin des éléments utiles pour la barre de progréssion public WindowGenererResultatsSequentielsUI() { InitializeComponent(); genererResultatsBL = new GenererResultatsSequentielsBL(); ancienObjet = new MoyennesBE(); // Initialisation de la collection, qui va s'afficher dans la DataGrid : ListeMoyennes = new ObservableCollection <MoyennesBE>(); List <MoyennesBE> LMoyennesBE = genererResultatsBL.listerToutesLesMoyennes(); // on met la liste "ListeMoyennes" dans le DataGrid RemplirDataGrid(LMoyennesBE); List <ClasseBE> LClasse = genererResultatsBL.listerToutesLesClasses(); // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre //(utile pour le filtre) cmbClasse.ItemsSource = genererResultatsBL.getListCodeClasse(LClasse); List <SequenceBE> LSequence = genererResultatsBL.listerToutesLesSequences(); // ------------------- Chargement de la liste des noms de Cycle dans le comboBox de la fenêtre //(utile pour le filtre) cmbSequence.ItemsSource = genererResultatsBL.getListCodeSequence2(LSequence); annee = genererResultatsBL.getAnneeEnCours(); txtAnnee.Text = Convert.ToString(annee); txtAnneeScolaire.Text = (annee - 1).ToString(); //on cache la barre de progression ProgressBar1.Visibility = System.Windows.Visibility.Hidden; }
// ajouter une Moyenne public bool ajouterMoyenne(MoyennesBE moyenne) { if (moyennesDA.ajouter(moyenne)) { journalDA.journaliser("enregistrement de la moyenne séquentielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", séquence : " + moyenne.codeSeq + ", moyenne : " + moyenne.moyenne); return(true); } return(false); }
// modifier une Moyenne public bool modifierMoyenne(MoyennesBE moyenne) { if (moyennesDA.modifier(moyenne)) { journalDA.journaliser("modification de la moyenne séquentielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", séquence : " + moyenne.codeSeq + ". ancienne moyenne : " + moyenne.moyenne + ", nouvelle moyenne : " + moyenne.moyenne); return(true); } return(false); }
// supprimer une Moyenne public bool supprinerMoyenne(MoyennesBE moyenne) { if (moyennesDA.supprimer(moyenne)) { journalDA.journaliser("suppression de la moyenne séquentielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", séquence : " + moyenne.codeSeq + ", moyenne : " + moyenne.moyenne); return(true); } return(false); }
//creer une Moyenne public bool creerMoyenne(String codeMatiere, String codeSequence, String matricule, Double moyenne, int annee, int rang, double moyenneClasse, string mention, double moyenneMin, double moyenneMax, string appreciation) { MoyennesBE moy = new MoyennesBE(codeMatiere, codeSequence, matricule, moyenne, annee, rang, moyenneClasse, mention, moyenneMin, moyenneMax, appreciation); if (moyennesDA.ajouter(moy)) { journalDA.journaliser("enregistrement de la moyenne séquentielle de l'élève de matricule " + matricule + ". matière : " + codeMatiere + ", année : " + annee + ", séquence : " + codeSequence + ", moyenne : " + moyenne); return(true); } return(false); }
//********************************** Fin des éléments utiles pour la barre de progréssion public WindowGenererResultatDunEleveUI() { InitializeComponent(); genererResultatsDunEleveBL = new GenererResultatsDunEleveBL(); ancienObjet = new MoyennesBE(); // A mettre pour que le binding avec le DataGrid fonctionne ! //on charge les périodes dans le comboBox String[] periode = { "Séquence", "Trimestre", "Année" }; cmbPeriode.ItemsSource = periode; annee = genererResultatsDunEleveBL.getAnneeEnCours(); txtAnnee.Text = Convert.ToString(annee); txtAnneeScolaire.Text = (annee - 1).ToString(); lblChoixPeriode.Visibility = System.Windows.Visibility.Hidden; cmbChoixPeriode.Visibility = System.Windows.Visibility.Hidden; //on cache la barre de progression ProgressBar1.Visibility = System.Windows.Visibility.Hidden; }
// rechercher une Moyenne public MoyennesBE rechercherMoyenne(MoyennesBE moyenne) { return(moyennesDA.rechercher(moyenne)); }
//Calcul de la moyenne des élèves pour une classe, une séquence, une matière et une année donnée //il s'agit de remplir la table "moyennes" public void calculerMoyenne(String codeClasse, String codeSequence, int annee) { ClasseBE classe = new ClasseBE(); classe.codeClasse = codeClasse; ClasseBE classeBE = rechercherClasse(classe); //on liste les matières de la classe pour l'année choisi List <MatiereBE> LMatiere = listeDesMatieresDuneClasse(classeBE, annee); //on calcul les moyennes trimestrielles par matières for (int j = 0; j < LMatiere.Count; j++) { string codemat = LMatiere.ElementAt(j).codeMat; // calcul de la moyenne Sequentielle des élèves sur chacune des matières individuellement List <String[]> List = moyennesDA.calculMoyenneSequentielle(codeClasse, LMatiere.ElementAt(j).codeMat, codeSequence, annee); if (List != null && List.Count != 0) { //on fabrique les objets de type moyennes Sequentielle et on les mets dans le BD List <MoyennesBE> LMoyennesSequentielle = new List <MoyennesBE>(); for (int i = 0; i < List.Count; i++) { /* * List.ElementAt(i)[0] : matricule; * List.ElementAt(i)[1] : codeMatiere; * List.ElementAt(i)[2] : codeseq; * List.ElementAt(i)[3] : moyenne; */ MoyennesBE moyenneSequentielle = new MoyennesBE(); moyenneSequentielle.codeMat = List.ElementAt(i)[1]; moyenneSequentielle.codeSeq = codeSequence; moyenneSequentielle.matricule = List.ElementAt(i)[0]; moyenneSequentielle.moyenne = Convert.ToDouble(List.ElementAt(i)[3]); moyenneSequentielle.annee = annee; moyenneSequentielle.rang = 0; moyenneSequentielle.moyenneClasse = 0; if (getMention(moyenneSequentielle.moyenne) != null) { moyenneSequentielle.mention = getMention(moyenneSequentielle.moyenne); } else { moyenneSequentielle.mention = ""; } moyenneSequentielle.moyenneMin = 0; moyenneSequentielle.moyenneMax = 0; LMoyennesSequentielle.Add(moyenneSequentielle); } //-------------- on calcule le rang, la moyenne générale de la classe, les moyennes min et max double moyenneDeLaClasse = 0; // moyenne générale de la classe double moyenneMin = LMoyennesSequentielle.ElementAt(0).moyenne; // moyenne mininale des élèves de la classe double moyenneMax = LMoyennesSequentielle.ElementAt(0).moyenne; // moyenne maximale des élèves de la classe MoyennesBE moyennePrecedente = new MoyennesBE(); //on trie la liste LMoyennesSequentielle = LMoyennesSequentielle.OrderByDescending(o => o.moyenne).ToList(); for (int i = 0; i < LMoyennesSequentielle.Count; i++) { // ------------------- DEBUT détermination du rang if (i == 0) { // on est sur le premier (celui qui a la plus grande note) MoyennesBE oldMoyenne = LMoyennesSequentielle.ElementAt(i); // l'ancienne version de la moyenne (sera utilisé pour la modification) LMoyennesSequentielle.ElementAt(i).rang = 1; // le premier pour cette séquence et cette matière //on met à jour le rang dans la BD //modifierMoyenne(oldMoyenne, LMoyennesSequentielle.ElementAt(j)); moyennePrecedente = LMoyennesSequentielle.ElementAt(i); } else { if (LMoyennesSequentielle.ElementAt(i).moyenne == moyennePrecedente.moyenne) { MoyennesBE oldMoyenne = LMoyennesSequentielle.ElementAt(i); // l'ancienne version de la moyenne (sera utilisé pour la modification) //alors on a un ex éco (ils ont le même rang) LMoyennesSequentielle.ElementAt(i).rang = moyennePrecedente.rang; //on met à jour le rang dans la BD //modifierMoyenne(oldMoyenne, LMoyenneAvecRang.ElementAt(j)); } else { MoyennesBE oldMoyenne = LMoyennesSequentielle.ElementAt(i); // l'ancienne version de la moyenne (sera utilisé pour la modification) //alors l'élève prend le rend suivant //LMoyenneAvecRang.ElementAt(j).rang = moyennePrecedente.rang + 1; LMoyennesSequentielle.ElementAt(i).rang = i + 1; //on met à jour le rang dans la BD //modifierMoyenne(oldMoyenne, LMoyenneAvecRang.ElementAt(j)); } moyennePrecedente = LMoyennesSequentielle.ElementAt(i); } // ------------------- FIN détermination du rang // ------------------- DEBUT détermination de la moyenne de la classe moyenneDeLaClasse = moyenneDeLaClasse + LMoyennesSequentielle.ElementAt(i).moyenne; // ------------------- FIN détermination de la moyenne de la classe // ------------------- DEBUT détermination des moyennes minimales et maximales if (LMoyennesSequentielle.ElementAt(i).moyenne < moyenneMin) { moyenneMin = LMoyennesSequentielle.ElementAt(i).moyenne; } if (LMoyennesSequentielle.ElementAt(i).moyenne > moyenneMax) { moyenneMax = LMoyennesSequentielle.ElementAt(i).moyenne; } // ------------------- FIN détermination des moyennes minimales et maximales } moyenneDeLaClasse = moyenneDeLaClasse / LMoyennesSequentielle.Count; //------------------- DEBUT mise à jour des moyennes avec les infos telles que : moyenneClasse, mention, moyenneMin, moyenneMax for (int i = 0; i < LMoyennesSequentielle.Count; i++) { LMoyennesSequentielle.ElementAt(i).moyenneClasse = moyenneDeLaClasse; LMoyennesSequentielle.ElementAt(i).moyenneMin = moyenneMin; LMoyennesSequentielle.ElementAt(i).moyenneMax = moyenneMax; //on met à jour le rang dans la BD if (moyennesDA.rechercher(LMoyennesSequentielle.ElementAt(i)) != null) { moyennesDA.supprimer(LMoyennesSequentielle.ElementAt(i)); } moyennesDA.ajouter(LMoyennesSequentielle.ElementAt(i)); //modifierMoyenneTrimestriel(LMoyennesTrimestriels.ElementAt(i), LMoyennesTrimestriels.ElementAt(i)); } //------------------- FIN mise à jour des moyennes avec les infos telles que : moyenneClasse, mention, moyenneMin, moyenneMax } } journalDA.journaliser("Calcul de la moyenne séquentielle des élèves de la classe : " + codeClasse + ", séquence : " + codeSequence + ", année : " + annee); }
public ProfilAcademiqueBE(EleveBE eleve, ClasseBE classe, MoyennesBE moyenne) { this.eleve = eleve; this.classe = classe; this.moyenne = moyenne; }
public bool modifierMoyenne(MoyennesBE moyenne, MoyennesBE newMoyenne) { return(moyennesDA.modifier(moyenne, newMoyenne)); }