private void cmdValider_Click(object sender, RoutedEventArgs e)
        {
            //on vérifit si tous les champs ont été corectement rempli
            if ((cmbClasse.Text != null && txtAnneeScolaire.Text != null && cmbSequence.Text != null) && (cmbClasse.Text != "" && txtAnneeScolaire.Text != "" && cmbSequence.Text != ""))
            {
                //si on a choisi <Toutes les classes>
                if (cmbClasse.Text.Equals("<Toutes Les Classes>"))
                {
                    if (cmbSequence.Text.Equals("<Toutes Les Séquences>"))
                    {
                        //--------------------------- Action pour toutes les classes et toutes les séquences

                        //on liste toutes les classes
                        List <ClasseBE> LClasse = genererBulletinsSequentielBL.listerToutesLesClasses();

                        List <SequenceBE> LSequence = genererBulletinsSequentielBL.listerToutesLesSequences();

                        //Configure the ProgressBar
                        ProgressBar1.Minimum = 0;
                        ProgressBar1.Maximum = LClasse.Count;
                        ProgressBar1.Value   = 0;

                        //Stores the value of the ProgressBar
                        double value = 0;

                        //Create a new instance of our ProgressBar Delegate that points
                        // to the ProgressBar's SetValue method.
                        UpdateProgressBarDelegate updatePbDelegate =
                            new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                        //on affiche la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                        for (int i = 0; i < LClasse.Count; i++)
                        {
                            //on liste les élèves de la classe
                            List <EleveBE> LEleve = genererBulletinsSequentielBL.listeEleves(LClasse.ElementAt(i), Convert.ToInt16(txtAnnee.Text));
                            for (int j = 0; j < LEleve.Count; j++)
                            {
                                for (int k = 0; k < LSequence.Count; k++)
                                {
                                    // ***********calcul des moyennes
                                    //remplissage de la table "moyennes"

                                    genererBulletinsSequentielBL.genererBulletinSequentielDunEleve(LEleve.ElementAt(j).matricule, Convert.ToInt16(txtAnnee.Text),
                                                                                                   LClasse.ElementAt(i).codeClasse, LSequence.ElementAt(k).codeseq, LEleve.ElementAt(j).photo);


                                    value += 1;

                                    Dispatcher.Invoke(updatePbDelegate,
                                                      System.Windows.Threading.DispatcherPriority.Background,
                                                      new object[] { ProgressBar.ValueProperty, value });
                                }
                            }
                        }

                        MessageBox.Show("Opération Terminée !! ");

                        //on cache la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                    }
                    else
                    {
                        //--------------------------- Action pour toutes les classes et un trimestre particulier

                        //on liste toutes les classes
                        List <ClasseBE> LClasse = genererBulletinsSequentielBL.listerToutesLesClasses();

                        //Configure the ProgressBar
                        ProgressBar1.Minimum = 0;
                        ProgressBar1.Maximum = LClasse.Count;
                        ProgressBar1.Value   = 0;

                        //Stores the value of the ProgressBar
                        double value = 0;

                        //Create a new instance of our ProgressBar Delegate that points
                        // to the ProgressBar's SetValue method.
                        UpdateProgressBarDelegate updatePbDelegate =
                            new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                        //on affiche la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                        for (int i = 0; i < LClasse.Count; i++)
                        {
                            //on liste les élèves de la classe
                            List <EleveBE> LEleve = genererBulletinsSequentielBL.listeEleves(LClasse.ElementAt(i), Convert.ToInt16(txtAnnee.Text));
                            for (int j = 0; j < LEleve.Count; j++)
                            {
                                // ***********calcul des moyennes
                                //remplissage de la table "moyennes"

                                genererBulletinsSequentielBL.genererBulletinSequentielDunEleve(LEleve.ElementAt(j).matricule, Convert.ToInt16(txtAnnee.Text),
                                                                                               LClasse.ElementAt(i).codeClasse, cmbSequence.Text, LEleve.ElementAt(j).photo);


                                value += 1;

                                Dispatcher.Invoke(updatePbDelegate,
                                                  System.Windows.Threading.DispatcherPriority.Background,
                                                  new object[] { ProgressBar.ValueProperty, value });
                            }
                        }

                        MessageBox.Show("Opération Terminée !! ");

                        //on cache la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                    }
                }
                else
                {
                    if (cmbSequence.Text.Equals("<Toutes Les Séquences>"))
                    {
                        //--------------------- Action pour une classe particulière et toutes les Séquences
                        List <SequenceBE> LSequence = genererBulletinsSequentielBL.listerToutesLesSequences();

                        //Configure the ProgressBar
                        ProgressBar1.Minimum = 0;
                        ProgressBar1.Maximum = LSequence.Count;
                        ProgressBar1.Value   = 0;

                        //Stores the value of the ProgressBar
                        double value = 0;

                        //Create a new instance of our ProgressBar Delegate that points
                        // to the ProgressBar's SetValue method.
                        UpdateProgressBarDelegate updatePbDelegate =
                            new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                        //on affiche la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                        ClasseBE classe = new ClasseBE();
                        classe.codeClasse = cmbClasse.Text;
                        classe            = genererBulletinsSequentielBL.rechercherClasse(classe);
                        //on liste les élèves de la classe
                        List <EleveBE> LEleve = genererBulletinsSequentielBL.listeEleves(classe, Convert.ToInt16(txtAnnee.Text));
                        for (int j = 0; j < LEleve.Count; j++)
                        {
                            for (int k = 0; k < LSequence.Count; k++)
                            {
                                // ***********calcul des moyennes
                                //remplissage de la table "moyennes"

                                genererBulletinsSequentielBL.genererBulletinSequentielDunEleve(LEleve.ElementAt(j).matricule, Convert.ToInt16(txtAnnee.Text), classe.codeClasse,
                                                                                               LSequence.ElementAt(k).codeseq, LEleve.ElementAt(j).photo);


                                value += 1;

                                Dispatcher.Invoke(updatePbDelegate,
                                                  System.Windows.Threading.DispatcherPriority.Background,
                                                  new object[] { ProgressBar.ValueProperty, value });
                            }
                        }

                        MessageBox.Show("Opération Terminée !! ");

                        //on cache la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                    }
                    else
                    {
                        //--------------------- Action pour une classe particulière et un trimestre particulier

                        //Configure the ProgressBar
                        ProgressBar1.Minimum = 0;
                        ProgressBar1.Maximum = 1;
                        ProgressBar1.Value   = 0;

                        //Stores the value of the ProgressBar
                        double value = 0;

                        //Create a new instance of our ProgressBar Delegate that points
                        // to the ProgressBar's SetValue method.
                        UpdateProgressBarDelegate updatePbDelegate =
                            new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                        //on affiche la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                        // ***********calcul des moyennes
                        //remplissage de la table "moyennes"

                        ClasseBE classe = new ClasseBE();
                        classe.codeClasse = cmbClasse.Text;
                        classe            = genererBulletinsSequentielBL.rechercherClasse(classe);

                        //on liste les élèves de la classe
                        List <EleveBE> LEleve = genererBulletinsSequentielBL.listeEleves(classe, Convert.ToInt16(txtAnnee.Text));
                        for (int j = 0; j < LEleve.Count; j++)
                        {
                            // ***********calcul des moyennes
                            //remplissage de la table "moyennes"

                            genererBulletinsSequentielBL.genererBulletinSequentielDunEleve(LEleve.ElementAt(j).matricule, Convert.ToInt16(txtAnnee.Text), cmbClasse.Text,
                                                                                           cmbSequence.Text, LEleve.ElementAt(j).photo);


                            value += 1;

                            Dispatcher.Invoke(updatePbDelegate,
                                              System.Windows.Threading.DispatcherPriority.Background,
                                              new object[] { ProgressBar.ValueProperty, value });
                        }

                        //calcul des résultats
                        //remplissage de la table "resultats"

                        //genererResultatsTrimestrielsBL.calculerResultatsTrimestriels(cmbClasse.Text, cmbTrimestre.Text, Convert.ToInt16(txtAnnee.Text));

                        MessageBox.Show("Opération Terminée !! ");

                        //on cache la barre de progression
                        ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                    }
                }
            }
            else
            {
                MessageBox.Show("Tous les champs doivent êtres remplis !! ");
            }
        }
예제 #2
0
        //-------------------Imprimer les relevés des élèves sélectionnés-------------------
        public void imprimerBulletinSequentiel(int annee, string classe, string sequence)
        {
            Document  doc  = new Document(iTextSharp.text.PageSize.A4, 5, 5, 5, 25);
            CreerEtat etat = new CreerEtat();

            etat.docname = ConnexionUI.DOSSIER_BULLETINS + annee + "-" + classe + "-" + sequence + ".pdf";
            etat.title   = "BULLETIN DE NOTES DE LA SEQUENCE " + sequence;
            PdfWriter writer = PdfWriter.GetInstance(doc, new System.IO.FileStream(etat.docname, System.IO.FileMode.Create));

            Ecole.DataAccess.ParametresDA parametreDA = new Ecole.DataAccess.ParametresDA();
            ParametresBE parametre = parametreDA.rechercherDerniereValeur();

            writer.PageEvent = new PDFFooter1(parametre.nomEcole);
            doc.Open();

            //on vérifit si tous les champs ont été corectement rempli
            if ((cmbClasse.Text != null && txtAnnee.Text != null && cmbSequence.Text != null) && (cmbClasse.Text != "" && txtAnnee.Text != "" && cmbSequence.Text != ""))
            {
                //si on a choisi <Toutes les classes>
                if (cmbSequence.Text.Equals("<Toutes Les Séquences>"))
                {
                    //--------------------- Action pour une classe particulière et toutes les Séquences
                    List <SequenceBE> LSequence = bulletinsSequentielBL.listerToutesLesSequences();

                    //Configure the ProgressBar
                    ProgressBar1.Minimum = 0;
                    ProgressBar1.Maximum = LSequence.Count;
                    ProgressBar1.Value   = 0;

                    //Stores the value of the ProgressBar
                    double value = 0;

                    //Create a new instance of our ProgressBar Delegate that points
                    // to the ProgressBar's SetValue method.
                    UpdateProgressBarDelegate updatePbDelegate =
                        new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                    //on affiche la barre de progression
                    ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                    for (int i = 0; i < listBoxEleve.Items.Count; i++)
                    {
                        for (int k = 0; k < LSequence.Count; k++)
                        {
                            ListBoxItem item = listBoxEleve.ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem;

                            if (item != null)
                            {
                                CheckBox myCheckBox = FindVisualChild <CheckBox>(item) as CheckBox;
                                if (myCheckBox.IsChecked.Value)
                                {
                                    // bulletinsSequentielBL.genererBulletinSequentielDunEleve((listBoxEleve.Items[i] as ElementListeEleve).matricule, annee, classe, sequence);
                                    string  matricule = (listBoxEleve.Items[i] as ElementListeEleve).matricule;
                                    EleveBE eleve     = new EleveBE();
                                    eleve.matricule = matricule;
                                    eleve           = bulletinsSequentielBL.rechercherEleve(eleve);
                                    bulletinsSequentielBL.genererBulletinSequentielDunEleve(doc, etat, writer, (listBoxEleve.Items[i] as ElementListeEleve).matricule, Convert.ToInt16(txtAnnee.Text),
                                                                                            classe, LSequence.ElementAt(k).codeseq, eleve.photo);

                                    value += 1;

                                    Dispatcher.Invoke(updatePbDelegate,
                                                      System.Windows.Threading.DispatcherPriority.Background,
                                                      new object[] { ProgressBar.ValueProperty, value });
                                }
                            }
                        }
                    }

                    MessageBox.Show("Opération Terminée !! ");

                    //on cache la barre de progression
                    ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                }
                else
                {
                    //--------------------- Action pour une classe particulière et un trimestre particulier

                    //Configure the ProgressBar
                    ProgressBar1.Minimum = 0;
                    ProgressBar1.Maximum = 1;
                    ProgressBar1.Value   = 0;

                    //Stores the value of the ProgressBar
                    double value = 0;

                    //Create a new instance of our ProgressBar Delegate that points
                    // to the ProgressBar's SetValue method.
                    UpdateProgressBarDelegate updatePbDelegate =
                        new UpdateProgressBarDelegate(ProgressBar1.SetValue);


                    //on affiche la barre de progression
                    ProgressBar1.Visibility = System.Windows.Visibility.Visible;

                    // ***********calcul des moyennes
                    //remplissage de la table "moyennes"

                    //ClasseBE classe = new ClasseBE();
                    //classe.codeClasse = cmbClasse.Text;
                    //classe = bulletinsSequentielBL.rechercherClasse(classe);

                    //on liste les élèves de la classe
                    for (int i = 0; i < listBoxEleve.Items.Count; i++)
                    {
                        ListBoxItem item = listBoxEleve.ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem;

                        if (item != null)
                        {
                            CheckBox myCheckBox = FindVisualChild <CheckBox>(item) as CheckBox;
                            if (myCheckBox.IsChecked.Value)
                            {
                                // bulletinsSequentielBL.genererBulletinSequentielDunEleve((listBoxEleve.Items[i] as ElementListeEleve).matricule, annee, classe, sequence);
                                string  matricule = (listBoxEleve.Items[i] as ElementListeEleve).matricule;
                                EleveBE eleve     = new EleveBE();
                                eleve.matricule = matricule;
                                eleve           = bulletinsSequentielBL.rechercherEleve(eleve);
                                bulletinsSequentielBL.genererBulletinSequentielDunEleve(doc, etat, writer, matricule, Convert.ToInt16(txtAnnee.Text), classe, cmbSequence.Text, eleve.photo);

                                value += 1;

                                Dispatcher.Invoke(updatePbDelegate,
                                                  System.Windows.Threading.DispatcherPriority.Background,
                                                  new object[] { ProgressBar.ValueProperty, value });
                            }
                        }
                    }

                    //calcul des résultats
                    //remplissage de la table "resultats"

                    //genererResultatsTrimestrielsBL.calculerResultatsTrimestriels(cmbClasse.Text, cmbTrimestre.Text, Convert.ToInt16(txtAnnee.Text));

                    MessageBox.Show("Opération Terminée !! ");

                    //on cache la barre de progression
                    ProgressBar1.Visibility = System.Windows.Visibility.Hidden;
                }
            }
            else
            {
                MessageBox.Show("Tous les champs doivent êtres remplis !! ");
            }

            try
            {
                doc.Close();
            }
            catch (Exception) { }
            System.Diagnostics.Process.Start(System.IO.Path.GetFullPath(etat.docname));
            //etat.SendToPrinter(System.IO.Path.GetFullPath(etat.docname));
        }