//********************************** Fin des éléments utiles pour la barre de progréssion

        public WindowGenererResultatsTrimestrielsUI()
        {
            InitializeComponent();

            genererResultatsTrimestrielsBL = new GenererResultatsTrimestrielsBL();

            ancienObjet = new MoyennesTrimestrielsBE();

            // Initialisation de la collection, qui va s'afficher dans la DataGrid :
            ListeMoyennesTrimestriels = new ObservableCollection <MoyennesTrimestrielsBE>();
            List <MoyennesTrimestrielsBE> LMoyennesTrimestrielsBE = genererResultatsTrimestrielsBL.listerToutesLesMoyennestrimestriels();

            // on met la liste "ListeMoyennesTrimestriels" dans le DataGrid
            RemplirDataGrid(LMoyennesTrimestrielsBE);

            List <ClasseBE> LClasse = genererResultatsTrimestrielsBL.listerToutesLesClasses();

            // ------------------- Chargement de la liste des codes de Classe dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbClasse.ItemsSource = genererResultatsTrimestrielsBL.getListCodeClasse(LClasse);

            List <TrimestreBE> LTrimestre = genererResultatsTrimestrielsBL.listerTousLesTrimestres();

            // ------------------- Chargement de la liste des codes de Trimestre dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbTrimestre.ItemsSource = genererResultatsTrimestrielsBL.getListCodeTrimestre2(LTrimestre);

            annee                 = genererResultatsTrimestrielsBL.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 Trimestriel
 public bool ajouterMoyenneTrimestriel(MoyennesTrimestrielsBE moyenne)
 {
     if (moyennesTrimestrielsDA.ajouter(moyenne))
     {
         journalDA.journaliser("enregistrement de la moyenne trimestrielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", trimestre : " + moyenne.codeTrimestre + ", moyenne : " + moyenne.moyenne);
         return(true);
     }
     return(false);
 }
 // modifier une Moyenne Trimestriel
 public bool modifierMoyenneTrimestriel(MoyennesTrimestrielsBE moyenne)
 {
     if (moyennesTrimestrielsDA.modifier(moyenne))
     {
         journalDA.journaliser("modification de la moyenne trimestrielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", trimestre : " + moyenne.codeTrimestre + ". ancienne moyenne : " + moyenne.moyenne + ", nouvelle moyenne : " + moyenne.moyenne);
         return(true);
     }
     return(false);
 }
 // supprimer une Moyenne Trimestriel
 public bool supprinerMoyenneTrimestriel(MoyennesTrimestrielsBE moyenne)
 {
     if (moyennesTrimestrielsDA.supprimer(moyenne))
     {
         journalDA.journaliser("suppression de la moyenne trimestrielle de l'élève de matricule " + moyenne.matricule + ". matière : " + moyenne.codeMat + ", année : " + moyenne.annee + ", trimestre : " + moyenne.codeTrimestre + ", moyenne : " + moyenne.moyenne);
         return(true);
     }
     return(false);
 }
        //creer une Moyenne Trimestriel
        public bool creerMoyenneTrimestriel(String codeMatiere, String codeTrimestre, String matricule, Double moyenne, int annee, int rang, double moyenneClasse, string mention, double moyenneMin, double moyenneMax, string appreciation)
        {
            MoyennesTrimestrielsBE moy = new MoyennesTrimestrielsBE(codeMatiere, codeTrimestre, matricule, moyenne, annee, rang, moyenneClasse, mention, moyenneMin, moyenneMax, appreciation);

            if (moyennesTrimestrielsDA.ajouter(moy))
            {
                journalDA.journaliser("enregistrement de la moyenne trimestrielle de l'élève de matricule " + matricule + ". matière : " + codeMatiere + ", année : " + annee + ", trimestre : " + codeTrimestre + ", moyenne : " + moyenne);
                return(true);
            }
            return(false);
        }
Exemple #6
0
 // rechercher une Moyenne Trimestriel
 public MoyennesTrimestrielsBE rechercherMoyenneTrimestriel(MoyennesTrimestrielsBE moyenne)
 {
     return(moyennesTrimestrielsDA.rechercher(moyenne));
 }
        //Calcul de la moyenne des élèves pour une classe, une Trimestre, une matière et une année donnée
        //il s'agit de remplir la table "moyennesTrimestriels"
        public void calculerMoyenneTrimestriels(String codeClasse, String codeTrimestre, 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++)
            {
                // calcul de la moyenne trimestrielle des élève sur chacune des matières individuellement
                List <String[]> List = moyennesTrimestrielsDA.calculMoyenneTrimestrielle(codeClasse, LMatiere.ElementAt(j).codeMat, codeTrimestre, annee);

                if (List != null && List.Count != 0)
                {
                    //on fabrique les objets de type moyennesTrimestrielles et on les mets dans le BD
                    List <MoyennesTrimestrielsBE> LMoyennesTrimestriels = new List <MoyennesTrimestrielsBE>();
                    for (int i = 0; i < List.Count; i++)
                    {
                        /*
                         * List.ElementAt(i)[0] : matricule;
                         * List.ElementAt(i)[1] : codeMatiere;
                         * List.ElementAt(i)[2] : moyenne;
                         */
                        MoyennesTrimestrielsBE moyenneTrimestrielle = new MoyennesTrimestrielsBE();
                        moyenneTrimestrielle.codeMat       = List.ElementAt(i)[1];
                        moyenneTrimestrielle.codeTrimestre = codeTrimestre;
                        moyenneTrimestrielle.matricule     = List.ElementAt(i)[0];
                        moyenneTrimestrielle.moyenne       = Convert.ToDouble(List.ElementAt(i)[2]);
                        moyenneTrimestrielle.annee         = annee;
                        moyenneTrimestrielle.rang          = 0;
                        moyenneTrimestrielle.moyenneClasse = 0;
                        if (getMention(moyenneTrimestrielle.moyenne) != null)
                        {
                            moyenneTrimestrielle.mention = getMention(moyenneTrimestrielle.moyenne);
                        }
                        else
                        {
                            moyenneTrimestrielle.mention = "";
                        }
                        moyenneTrimestrielle.moyenneMin = 0;
                        moyenneTrimestrielle.moyenneMax = 0;

                        LMoyennesTrimestriels.Add(moyenneTrimestrielle);
                    }

                    //-------------- 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        = LMoyennesTrimestriels.ElementAt(0).moyenne; // moyenne mininale des élèves de la classe
                    double moyenneMax        = LMoyennesTrimestriels.ElementAt(0).moyenne; // moyenne maximale des élèves de la classe

                    //on trie la liste
                    LMoyennesTrimestriels = LMoyennesTrimestriels.OrderByDescending(o => o.moyenne).ToList();

                    MoyennesTrimestrielsBE moyennePrecedente = new MoyennesTrimestrielsBE();

                    for (int i = 0; i < LMoyennesTrimestriels.Count; i++)
                    {
                        // ------------------- DEBUT détermination du rang
                        if (i == 0)
                        {                                                                           // on est sur le premier (celui qui a la plus grande note)
                            MoyennesTrimestrielsBE oldMoyenne = LMoyennesTrimestriels.ElementAt(i); // l'ancienne version de la moyenne (sera utilisé pour la modification)

                            LMoyennesTrimestriels.ElementAt(i).rang = 1;                            // le premier pour cette séquence et cette matière

                            //on met à jour le rang dans la BD
                            //modifierMoyenne(oldMoyenne, LMoyenneAvecRang.ElementAt(j));

                            moyennePrecedente = LMoyennesTrimestriels.ElementAt(i);
                        }
                        else
                        {
                            if (LMoyennesTrimestriels.ElementAt(i).moyenne == moyennePrecedente.moyenne)
                            {
                                MoyennesTrimestrielsBE oldMoyenne = LMoyennesTrimestriels.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)
                                LMoyennesTrimestriels.ElementAt(i).rang = moyennePrecedente.rang;

                                //on met à jour le rang dans la BD
                                //modifierMoyenne(oldMoyenne, LMoyenneAvecRang.ElementAt(j));
                            }
                            else
                            {
                                MoyennesTrimestrielsBE oldMoyenne = LMoyennesTrimestriels.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;
                                LMoyennesTrimestriels.ElementAt(i).rang = i + 1;

                                //on met à jour le rang dans la BD
                                //modifierMoyenne(oldMoyenne, LMoyenneAvecRang.ElementAt(j));
                            }

                            moyennePrecedente = LMoyennesTrimestriels.ElementAt(i);
                        }
                        // ------------------- FIN détermination du rang

                        // ------------------- DEBUT détermination de la moyenne de la classe

                        moyenneDeLaClasse = moyenneDeLaClasse + LMoyennesTrimestriels.ElementAt(i).moyenne;

                        // ------------------- FIN détermination de la moyenne de la classe

                        // ------------------- DEBUT détermination des moyennes minimales et maximales

                        if (LMoyennesTrimestriels.ElementAt(i).moyenne < moyenneMin)
                        {
                            moyenneMin = LMoyennesTrimestriels.ElementAt(i).moyenne;
                        }

                        if (LMoyennesTrimestriels.ElementAt(i).moyenne > moyenneMax)
                        {
                            moyenneMax = LMoyennesTrimestriels.ElementAt(i).moyenne;
                        }

                        // ------------------- FIN détermination des moyennes minimales et maximales
                    }

                    moyenneDeLaClasse = moyenneDeLaClasse / LMoyennesTrimestriels.Count;

                    //------------------- DEBUT mise à jour des moyennes avec les infos telles que : moyenneClasse, mention, moyenneMin, moyenneMax

                    for (int i = 0; i < LMoyennesTrimestriels.Count; i++)
                    {
                        LMoyennesTrimestriels.ElementAt(i).moyenneClasse = moyenneDeLaClasse;
                        LMoyennesTrimestriels.ElementAt(i).moyenneMin    = moyenneMin;
                        LMoyennesTrimestriels.ElementAt(i).moyenneMax    = moyenneMax;

                        //on met à jour le rang dans la BD
                        if (moyennesTrimestrielsDA.rechercher(LMoyennesTrimestriels.ElementAt(i)) != null)
                        {
                            supprimerMoyenneTrimestriel(LMoyennesTrimestriels.ElementAt(i));
                        }

                        ajouterMoyenneTrimestriel(LMoyennesTrimestriels.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 trimestrielle des élèves de la classe : " + codeClasse + ", trimestre : " + codeTrimestre + ", année : " + annee);
        }