示例#1
0
        public void genererEtatSanctionSequentielleDuneClasse(String codeClasse, String codeSequence, int annee)
        {
            //On liste les de la classe
            ClasseBE classe = new ClasseBE();

            classe.codeClasse = codeClasse;
            List <EleveBE> LEleve = ListeDesElevesDuneClasse(classe, annee);

            SequenceBE sequence = new SequenceBE();

            sequence.codeseq = codeSequence;
            sequence         = sequenceDA.rechercher(sequence);



            if (LEleve != null && LEleve.Count != 0)
            {
                if (sequence != null)
                {
                    CreerEtat etat = new CreerEtat("Etat des sanctions - " + codeClasse + " - Séquence" + codeSequence + " - " + annee, "état des Sanctions " + sequence.nomseq);
                    etat.etatDesSanctionsSequentiellesDuneClasse(LEleve, codeClasse, codeSequence, annee);
                }
            }

            journalDA.journaliser("génération de l'état des sanctions de la séquence " + codeSequence + " de l'année " + annee + " pour la classe " + codeClasse);
        }
示例#2
0
        private void cmdImprimer_Click(object sender, RoutedEventArgs e)
        {
            if (validerFormulaire())
            {
                string   codeclasse = cmbClasse.SelectedValue.ToString();
                ClasseBE classe     = new ClasseBE();
                classe.codeClasse = codeclasse;
                classe            = sanctionClasseBL.rechercherClasse(classe);

                string     codesequence = cmbSequence.SelectedValue.ToString();
                SequenceBE sequence     = new SequenceBE();
                sequence.codeseq = codesequence;
                sequence         = sanctionClasseBL.rechercherSequence(sequence);

                string       codesanction = cmbSanction.Text.Split('-')[0].Trim();
                DisciplineBE sanction     = new DisciplineBE();
                sanction.codeSanction = codesanction;
                sanction = sanctionClasseBL.rechercherDiscipline(sanction);


                string    variable  = txtVariable.Text;
                CreerEtat creerEtat = new CreerEtat("sanction-" + cmbClasse.SelectedValue.ToString() + "" + DateTime.Today.ToShortDateString(), "historique des sanctions d'une classe");
                sanctionClasseBL.journaliser("Impression de l'historique des sanctions de la " + classe.codeClasse);
                creerEtat.etatSanctionClasse(grdListe, classe.codeClasse + " - " + classe.nomClasse, sequence.codeseq + " - " + sequence.nomseq, sanction.codeSanction + " - " + sanction.nomSanction, variable);
            }
        }
 // modifier une Sequence
 public bool modifierSequence(SequenceBE sequence)
 {
     if (sequenceDA.modifier(sequence))
     {
         journalDA.journaliser("modification de la séquence de code " + sequence.codeseq + ". nouveau code : " + sequence.codeseq + ", nouveau nom : " + sequence.nomseq + ", nouveau trimestre : " + sequence.codetrimestre);
         return(true);
     }
     return(false);
 }
 // supprimer une Sequence
 public bool supprinerSequence(SequenceBE sequence)
 {
     if (sequenceDA.supprimer(sequence))
     {
         journalDA.journaliser("suppression de la séquence de code " + sequence.codeseq + " et de nom " + sequence.nomseq + "pour le trimestre " + sequence.codetrimestre);
         return(true);
     }
     return(false);
 }
        //creer une Sequence
        public bool creerSequence(string codeSequence, string nomSequence, String codeTrimestre)
        {
            SequenceBE sequence = new SequenceBE(codeSequence, nomSequence, codeTrimestre);

            if (sequenceDA.ajouter(sequence))
            {
                journalDA.journaliser("enregistrement d'une séquence de code " + codeSequence + " et de nom " + nomSequence + "pour le trimestre " + codeTrimestre);
                return(true);
            }
            return(false);
        }
示例#6
0
        private void cmdOK_Click_New(object sender, RoutedEventArgs e)
        {
            if (validerFormulaire())
            {
                ClasseBE classe = new ClasseBE();
                classe.codeClasse = cmbClasse.Text;
                classe            = sequenceBL.rechercherClasse(classe);
                SequenceBE sequence = new SequenceBE();
                sequence.codeseq = cmbSequence.Text;
                sequence         = sequenceBL.rechercherSequence(sequence);
                string        nomprof       = "";
                List <string> codematieres  = new List <string>();
                List <string> codesanctions = new List <string>();

                eleves.Clear();
                recapitulatif_new.Clear();
                LigneRecapSeq ligne;
                eleves = sequenceBL.listeEleveDuneClasse(classe, annee);
                foreach (EleveBE eleve in eleves)
                {
                    ligne = new LigneRecapSeq();
                    ligne = sequenceBL.recapitulatifSequentielEleve_new(eleve, classe.codeClasse, sequence.codeseq, annee);
                    recapitulatif_new.Add(ligne);
                }

                nomprof       = sequenceBL.obtenirProfTitulaire(classe.codeClasse, annee);
                codematieres  = sequenceBL.listeCodeMatiereDuneClasse(classe.codeClasse, annee);
                codesanctions = disciplineBL.listerCodeDiscipline();

                sequenceBL.journaliser("Impression du recapitulatif sequentiel de " + classe.codeClasse + " de la " + sequence.codeseq);

                // on tri la liste suivant le nom croissant avant d'imprimer
                List <LigneRecapSeq> tampon = recapitulatif_new.OrderBy(o => o.nom).ToList();
                recapitulatif_new.Clear();
                foreach (LigneRecapSeq l in tampon)
                {
                    recapitulatif_new.Add(l);
                }

                double moyenne = sequenceBL.obtenirMoyenneClasse(cmbClasse.Text, cmbSequence.Text, annee);
                StatistiqueClasseBL statistiqueClasseBL = new StatistiqueClasseBL();
                StatistiqueClasseBE stat = statistiqueClasseBL.getStatistiqueDuneSequence(cmbClasse.Text, annee, cmbSequence.Text);

                CreerEtat etat = new CreerEtat("recapitulatifNoteSequentiel-" + classe.codeClasse + "-" + sequence.codeseq, "Récapitulatif des notes de la " + sequence.nomseq);
                etat.recapitulatifNotes_new(recapitulatif_new, classe, stat, nomprof, codematieres, codesanctions, annee, moyenne);
            }
        }
示例#7
0
        private void cmdImprimer_Click(object sender, RoutedEventArgs e)
        {
            int        COLONNE_NOM  = 1;
            ClasseBE   classe       = new ClasseBE();
            SequenceBE sequence     = new SequenceBE();
            string     titre        = "";
            string     codesequence = cmbSequence.SelectedValue.ToString();
            string     codeclasse   = cmbClasse.SelectedValue.ToString();

            if (codeclasse == TOUT)
            {
                codeclasse = "%";
                classe     = null;
            }
            else
            {
                classe.codeClasse = codeclasse;
                classe            = moyenneBL.rechercherClasse(classe);
            }
            sequence.codeseq = codesequence;
            sequence         = moyenneBL.rechercherSequence(sequence);

            List <string> headers = new List <string>();

            for (int j = 0; j < grdListe.Columns.Count; j++)
            {
                if (j != COLONNE_NOM)
                {
                    headers.Add(grdListe.Columns[j].Header.ToString().ToUpper());
                }
                else
                {
                    headers.Add("Nom".ToUpper());
                }
            }

            titre = "Liste des moyennes de la " + sequence.nomseq;
            CreerEtat etat = new CreerEtat("moyenne-sequentielle-" + codesequence + " - " + annee, titre);

            moyenneBL.journaliser("Impression de la liste de " + titre);
            etat.etatMoyennes(lignes, headers, classe, annee.ToString(), sequence, null, moyenne);
        }
        public WindowAddEditSequenceUI()
        {
            CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);

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

            InitializeComponent();

            creerModifierSequenceBL = new CreerModifierSequenceBL();

            etat = 0;

            ancienObjet = new SequenceBE();

            // A mettre pour que le binding avec le DataGrid fonctionne !
            grdListeSequence.DataContext = this;

            // Initialisation de la collection, qui va s'afficher dans la DataGrid :
            ListeSequences = new ObservableCollection <SequenceBE>();

            //on charge la liste des codes des trimestres
            List <TrimestreBE> LTrimestreBE = creerModifierSequenceBL.listerTousLesTrimestres();

            // on met la liste "LTrimestreBE" dans le DataGrid
            cmbTrimestre.ItemsSource       = creerModifierSequenceBL.getListCodeTrimestre2(LTrimestreBE);
            cmbFilterTrimestre.ItemsSource = creerModifierSequenceBL.getListCodeTrimestre(LTrimestreBE);

            List <SequenceBE> LSequenceBE = creerModifierSequenceBL.listerToutesLesSequences();

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

            // ------------------- Chargement de la liste des codes de Sequence dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbFilterCode.ItemsSource = creerModifierSequenceBL.getListCodeSequence(LSequenceBE);

            // ------------------- Chargement de la liste des noms de Sequence dans le comboBox de la fenêtre
            //(utile pour le filtre)
            cmbFilterNom.ItemsSource = creerModifierSequenceBL.getListNomSequence(LSequenceBE);
        }
        private void grdListeSequence_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (grdListeSequence.SelectedIndex != -1)
            {
                etat = 1;
                SequenceBE sequence = new SequenceBE();

                sequence = creerModifierSequenceBL.rechercherSequence(ListeSequences.ElementAt(grdListeSequence.SelectedIndex));
                if (sequence != null)
                {
                    // on charge les informations dans le formulaire
                    txtCode.Text      = sequence.codeseq;
                    txtNom.Text       = sequence.nomseq;
                    cmbTrimestre.Text = sequence.codetrimestre;

                    ancienObjet = sequence;
                }

                grdListeSequence.UnselectAll();
            }
        }
示例#10
0
 // rechercher une Sequence
 public SequenceBE rechercherSequence(SequenceBE sequence)
 {
     return(sequenceDA.rechercher(sequence));
 }
示例#11
0
 internal SequenceBE rechercherSequence(SequenceBE sequence)
 {
     return(sequenceDA.rechercher(sequence));
 }
        private void cmdValider_Click(object sender, RoutedEventArgs e)
        {
            if ((txtCode.Text != null && txtNom.Text != null && cmbTrimestre.Text != null) && (txtCode.Text != "" && txtNom.Text != "" && cmbTrimestre.Text != ""))
            { // si tous les champs sont non vides
                SequenceBE sequence = new SequenceBE();
                sequence.codeseq       = txtCode.Text;
                sequence.nomseq        = txtNom.Text;
                sequence.codetrimestre = cmbTrimestre.Text;

                if (etat == 1)
                {
                    creerModifierSequenceBL.modifierSequence(ancienObjet, sequence);
                    List <SequenceBE> LSequenceBE = creerModifierSequenceBL.listerToutesLesSequences();
                    // on met la liste "LSequenceBE" dans le DataGrid
                    RemplirDataGrid(LSequenceBE);

                    // ------------------- Chargement de la liste des codes de Cycle dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    cmbFilterCode.ItemsSource = creerModifierSequenceBL.getListCodeSequence(LSequenceBE);

                    // ------------------- Chargement de la liste des noms de Niveau dans le comboBox de la fenêtre
                    //(utile pour le filtre)
                    cmbFilterNom.ItemsSource = creerModifierSequenceBL.getListNomSequence(LSequenceBE);

                    txtCode.Text      = "";
                    txtNom.Text       = "";
                    cmbTrimestre.Text = null;
                    etat = 0;
                }
                else if (creerModifierSequenceBL.rechercherSequence(new SequenceBE(txtCode.Text, txtNom.Text, cmbTrimestre.Text)) == null)
                {     // si une Sequence possédant le même code n'existe pas deja dans la BD
                    if (creerModifierSequenceBL.creerSequence(txtCode.Text, txtNom.Text, cmbTrimestre.Text))
                    { // si l'nregistrement a réussi
                        MessageBox.Show("Enregistrement Séquence [" + txtCode.Text + ", " + txtNom.Text + "] " + " : Opération réussie");
                        txtCode.Text      = "";
                        txtNom.Text       = "";
                        cmbTrimestre.Text = null;

                        List <SequenceBE> LSequenceBE = creerModifierSequenceBL.listerToutesLesSequences();
                        //on rafraichir le DataGrid
                        RemplirDataGrid(LSequenceBE);
                        // ------------------- Chargement de la liste des codes de Séquence dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbFilterCode.ItemsSource = creerModifierSequenceBL.getListCodeSequence(LSequenceBE);

                        // ------------------- Chargement de la liste des noms de Séquence dans le comboBox de la fenêtre
                        //(utile pour le filtre)
                        cmbFilterNom.ItemsSource = creerModifierSequenceBL.getListNomSequence(LSequenceBE);
                    }
                    else
                    {
                        MessageBox.Show("Echec enregistrement : une erreure est survenue !");
                    }
                }
                else
                {
                    MessageBox.Show("Une Séquence ayant le code \"" + txtCode.Text + "\" existe deja dans le système \n \n Veuillez changer de code SVP !");
                }
            }
            else
            {
                MessageBox.Show("Tous les champs doivent pas être remplis !");
            }
        }
示例#13
0
        private void cmdImprimer_Click(object sender, RoutedEventArgs e)
        {
            if (cmbClasse.Text != null && txtAnneeScolaire.Text != null)
            {
                CreerEtat etat   = new CreerEtat("Resultats des matieres d'une classe", "Comparaison du travail des élèves par matière");
                ClasseBE  classe = new ClasseBE();
                classe.codeClasse = cmbClasse.Text;
                classe            = statistiqueBL.rechercherClasse(classe);

                Dictionary <string, string> stat1 = new Dictionary <string, string>();
                stat1 = statistiqueBL.syntheseClasse(cmbClasse.Text, annee, cmbExamen.Text);

                etat.exportGraphesToPDF(gridChartColumn, gridChartLine, classe, annee, periode, stat1, listeSource);

                SequenceBE sequence = new SequenceBE();
                sequence.codeseq = cmbExamen.Text;
                sequence         = sequenceBL.rechercherSequence(sequence);
                string        nomprof       = "";
                List <string> codematieres  = new List <string>();
                List <string> codesanctions = new List <string>();

                eleves.Clear();
                recapitulatif_new.Clear();
                LigneRecapSeq ligne;
                eleves = sequenceBL.listeEleveDuneClasse(classe, annee);
                foreach (EleveBE eleve in eleves)
                {
                    ligne = new LigneRecapSeq();
                    ligne = sequenceBL.recapitulatifSequentielEleve_new(eleve, classe.codeClasse, sequence.codeseq, annee);
                    recapitulatif_new.Add(ligne);
                }

                nomprof       = sequenceBL.obtenirProfTitulaire(classe.codeClasse, annee);
                codematieres  = sequenceBL.listeCodeMatiereDuneClasse(classe.codeClasse, annee);
                codesanctions = disciplineBL.listerCodeDiscipline();

                sequenceBL.journaliser("Impression du recapitulatif sequentiel de " + classe.codeClasse + " de la " + sequence.codeseq);

                // on tri la liste suivant le nom croissant avant d'imprimer
                List <LigneRecapSeq> tampon = recapitulatif_new.OrderBy(o => o.nom).ToList();
                recapitulatif_new.Clear();
                foreach (LigneRecapSeq l in tampon)
                {
                    recapitulatif_new.Add(l);
                }

                double moyenne = sequenceBL.obtenirMoyenneClasse(cmbClasse.Text, cmbExamen.Text, annee);
                StatistiqueClasseBL statistiqueClasseBL = new StatistiqueClasseBL();
                StatistiqueClasseBE stat     = statistiqueClasseBL.getStatistiqueDuneSequence(cmbClasse.Text, annee, cmbExamen.Text);
                Synthese            synthese = sequenceBL.obtenirSyntheseSequentielle(cmbClasse.Text, cmbExamen.Text, annee);

                etat = new CreerEtat("recapitulatifNoteSequentiel-" + classe.codeClasse + "-" + sequence.codeseq, "Récapitulatif des notes de la " + sequence.nomseq);
                etat.recapitulatifNotes_new(recapitulatif_new, classe, stat, nomprof, codematieres, codesanctions, annee, moyenne);

                etat = new CreerEtat("recapitulatifMoyenneSequentiel-" + classe.codeClasse + "-" + sequence.codeseq, "Récapitulatif des moyennes de la " + sequence.nomseq);
                etat.recapitulatifMoyenne(recapitulatif_new, classe, stat, nomprof, codesanctions, annee, moyenne);

                etat = new CreerEtat("recapitulatifClasseSequentiel-" + classe.codeClasse + "-" + sequence.codeseq, "Bilan de la " + sequence.nomseq);
                etat.synthese_resultat_sequentiel(classe, cmbExamen.Text, synthese);

                GenererEtatDesSanctionsDuneClasseBL genererEtatDesSanctionsDuneClasseBL = new GenererEtatDesSanctionsDuneClasseBL();
                genererEtatDesSanctionsDuneClasseBL.genererEtatSanctionSequentielleDuneClasse(classe.codeClasse, sequence.codeseq, annee);

                etat = new CreerEtat("statistique-" + classe.codeClasse + "-" + sequence.codeseq, "Statistiques sur la " + sequence.nomseq);
                etat.etatPourcentageCumuleDeNotesParSequence(classe, sequence.codeseq, annee);

                etat = new CreerEtat("ConseilClasse-" + classe.codeClasse + "-" + sequence.codeseq, "Conseil de Classe de la " + sequence.nomseq);
                etat.etatConseilDeClasse(classe, sequence.codeseq, annee);
            }
        }
        public void genererBulletinSequentielDunEleve(Document doc, CreerEtat etat, PdfWriter writer, String matricule, int annee, String codeClasse, String codeSequence, string photo)
        {
            List <LigneBulletinSequentiel> ListLigneBulletinSequentiel = resultatDA.genererBulletinSequentielDunEleve(matricule, annee, codeClasse, codeSequence);
            SequenceBE sequence = new SequenceBE();

            sequence.codeseq = codeSequence;
            sequence         = sequenceDA.rechercher(sequence);

            BullettinSequentiel bulletinSequentiel = new BullettinSequentiel();
            EleveBE             elv = new EleveBE();

            elv.matricule = matricule;

            bulletinSequentiel.eleve = eleveDA.rechercher(elv);

            ClasseBE classe = new ClasseBE();

            classe.codeClasse = codeClasse;

            bulletinSequentiel.classe = classeDA.rechercher(classe);

            bulletinSequentiel.annee = annee;

            //on recherche le nombre d'évaluation de la séquence
            bulletinSequentiel.nbEvaluation = sequenceDA.getNombreEvaluationDuneSequence(codeClasse, codeSequence, annee);
            bulletinSequentiel.listLigneBulletinSequentiel = ListLigneBulletinSequentiel;
            //on liste les résultats trimestriels de l'élève pour l'année
            List <ResultatBE> ListResultatsSequentiel = resultatDA.listerSuivantCritere("annee = '" + annee + "' AND codeSeq = '" + codeSequence + "' AND matricule = '" + matricule + "'");

            if (ListResultatsSequentiel != null && ListResultatsSequentiel.Count != 0)
            {
                bulletinSequentiel.resultatSequentiel = ListResultatsSequentiel.ElementAt(0);
            }

            //on charge les moyennes séquentielles min et max des élèves de la classe choisit
            bulletinSequentiel.moyenneMin = resultatDA.getMoynenneSequentielleMinimaleDuneClasse(codeClasse, codeSequence, annee);
            bulletinSequentiel.moyenneMax = resultatDA.getMoynenneSequentielleMaximaleDuneClasse(codeClasse, codeSequence, annee);

            //on Charge la liste des codes d'évaluation de la séquence
            List <String> ListCodeEvaluation = sequenceDA.getListCodeEvaluationDuneSequence(codeClasse, codeSequence, annee);



            // on recherche l'effectif de la classe
            int effectifClasse = classeDA.getEffectifClasse(codeClasse, annee);

            //on recherche le professeur titulaire de la classe
            String codeProf = classeDA.getCodeProfTitulaireDuneClasse(codeClasse, annee);

            EnseignantBE profTitulaire = new EnseignantBE();

            if (codeProf != null)
            {
                profTitulaire.codeProf = codeProf;
                profTitulaire          = enseignantDA.rechercher(profTitulaire);
            }

            //on charge les infos sur les paramètres
            ParametresBE parametre = parametresDA.getParametre();

            //on appelle la fonction qui défini les avertissements et les blâmes de l'élève
            DefinirLesAvertissementsEtBlamesDunEleve(matricule, codeSequence, annee);

            //************************ on charge les disciplines de l'élève
            bulletinSequentiel.ListSanction = sanctionnerDA.getListSanctionSequentielleEleve(matricule, annee, codeSequence);

            etat.etatBulletinSequentielEleve(doc, writer, bulletinSequentiel, ListCodeEvaluation, effectifClasse, profTitulaire, parametre, photo);

            journalDA.journaliser("génération du bulletin séquentiel (Séquence " + codeSequence + ") de l'élève de matricule " + matricule);
        }