示例#1
0
        private void btnGenererFeuille_Click(object sender, EventArgs e)
        {
            if (clbRoutes.CheckedItems.Count <= 0 && !cbBeneficiairesNonClasses.Checked)
            {
                Journal.AfficherMessage("Veuillez sélectionner au moins une route ou les bénéficiaires non-classés avant de générer la feuille de route.", TypeMessage.INFORMATION, false);
                return;
            }

            if (!cbDetailRoute.Checked && !cbSommaireRoute.Checked && !cbSommaireLivraisons.Checked)
            {
                Journal.AfficherMessage("Veuillez sélectionner au moins une section à imprimer avant de générer la feuille de route.", TypeMessage.INFORMATION, false);
                return;
            }

            Classeur document = new Classeur();
            string   date     = mcDateLivraisons.SelectionStart.ToShortDateString();

            Table sommaireLivraisons = new Table("Sommaire des livraisons");

            foreach (ComboBoxItem route in clbRoutes.CheckedItems)
            {
                Table beneficiaires = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect(String.Format(FORMAT_NOM_TABLEAU, route.Text, date, NumTelephoneCAB),
                                                                                           String.Format(FORMAT_REQUETE_LIVRAISONS, date, route.Value.ToString()));

                GenererFeuille(beneficiaires, route.Text, sommaireLivraisons, document);
            }

            if (cbBeneficiairesNonClasses.Checked)
            {
                Table beneficiairesNonClasses = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect(String.Format(FORMAT_NOM_TABLEAU, "Bénéficiaires non-classés", date, NumTelephoneCAB),
                                                                                                     String.Format(FORMAT_REQUETE_NON_CLASSES, date));

                if (!beneficiairesNonClasses.EstVide)
                {
                    GenererFeuille(beneficiairesNonClasses, "Bénéficiaires non-classés", sommaireLivraisons, document);
                }
            }

            if (cbSommaireLivraisons.Checked)
            {
                Feuille feuilleSommaireLivraisons = new Feuille("Sommaire des livraisons");
                feuilleSommaireLivraisons.AjouterTableau(new Tableau(sommaireLivraisons, 0, 28));

                document.AjouterFeuille(feuilleSommaireLivraisons);
            }

            frmPrincipal formulairePrincipal = ParentForm is frmPrincipal ? (frmPrincipal)ParentForm : null;

            if (formulairePrincipal != null)
            {
                formulairePrincipal.AfficherIndication("Génération du document Excel");
            }

            document.Generer();

            if (formulairePrincipal != null)
            {
                formulairePrincipal.EffacerIndication();
            }
        }
示例#2
0
        private void GenererListe(Table donnees, string nomFeuille)
        {
            Classeur document = new Classeur();

            Tableau tableau = new Tableau(donnees, ((ComboBoxItem)cmbChamp.SelectedItem).Text);

            tableau.AjouterTitre(((ComboBoxItem)cmbSousChamp.SelectedItem).Text);
            tableau.AjouterTitre(((ComboBoxItem)cmbActivite.SelectedItem).Text);

            Feuille feuille = new Feuille(nomFeuille, tableau.Titres.Count + 1);

            feuille.AjouterTableau(tableau);
            document.AjouterFeuille(feuille);

            frmPrincipal formulairePrincipal = ParentForm is frmPrincipal ? (frmPrincipal)ParentForm : null;

            if (formulairePrincipal != null)
            {
                formulairePrincipal.AfficherIndication("Génération du document Excel");
            }

            document.Generer();

            if (formulairePrincipal != null)
            {
                formulairePrincipal.EffacerIndication();
            }
        }
示例#3
0
        private void GenererListe(string nomFeuille, string nomTable)
        {
            Table personnes = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect(NOM_TABLE_PERSONNE, String.Format(FORMAT_REQUETE_PERSONNES, nomTable, ""));

            AjusterDonneesPersonnes(personnes);

            personnes.RetirerChamp("perId");

            Feuille feuille = new Feuille(nomFeuille, 2);

            feuille.AjouterTableau(new Tableau(personnes, nomFeuille));

            Classeur document = new Classeur();

            document.AjouterFeuille(feuille);

            frmPrincipal formulairePrincipal = ParentForm is frmPrincipal ? (frmPrincipal)ParentForm : null;

            if (formulairePrincipal != null)
            {
                formulairePrincipal.AfficherIndication("Génération du document Excel");
            }

            document.Generer();

            if (formulairePrincipal != null)
            {
                formulairePrincipal.EffacerIndication();
            }
        }
示例#4
0
        private void GenererListeParServices(string nomFeuille, string nomTable, string requeteJoin)
        {
            Classeur document = new Classeur();

            foreach (LigneTable ligneService in Services.Lignes)
            {
                string nomService            = ligneService.GetValeurChamp <string>("serNom");
                string nomInscriptionService = Global.GetNomTableService(nomService);

                if (nomService.Length > 31)
                {
                    nomService = nomService.Substring(0, 31);
                }

                Table personnes = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect(NOM_TABLE_PERSONNE, String.Format(FORMAT_REQUETE_PERSONNES, nomTable, String.Format(requeteJoin, ligneService.GetValeurChamp <int>("serId"))));
                AjusterDonneesPersonnes(personnes);

                if (nomInscriptionService.Length > 0)
                {
                    Table infosService = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect(nomInscriptionService, "SELECT * FROM " + nomInscriptionService);
                    personnes.Joindre("perId", infosService, "perId");
                }

                personnes.RetirerChamp("perId");

                Feuille feuille = new Feuille(nomService, 2);
                feuille.AjouterTableau(new Tableau(personnes, nomFeuille + " - " + nomService));

                document.AjouterFeuille(feuille);
            }

            frmPrincipal formulairePrincipal = ParentForm is frmPrincipal ? (frmPrincipal)ParentForm : null;

            if (formulairePrincipal != null)
            {
                formulairePrincipal.AfficherIndication("Génération du document Excel");
            }

            document.Generer();

            if (formulairePrincipal != null)
            {
                formulairePrincipal.EffacerIndication();
            }
        }
示例#5
0
        private void GenererFeuille(Table beneficiaires, string nomRoute, Table sommaireLivraisons, Classeur document)
        {
            if (beneficiaires.EstVide)
            {
                return;
            }

            int totalNbRepas = 0;

            beneficiaires.Lignes.ForEach(l =>
            {
                int nbRepas       = l.GetValeurChamp <int>("lprNombreRepas");
                decimal prixRepas = l.GetValeurChamp <decimal>("lprPrixRepas");

                totalNbRepas += nbRepas;

                //l.AjouterChamp("lprTransaction", (decimal)(nbRepas * prixRepas), "iprIndicationsLivraison");  //Enlever à la demande du CABS

                int noAppart = l.GetValeurChamp <int>("perNoAppart");
                l.RetirerChamp("perNoAppart");

                if (noAppart > 0)
                {
                    l.GetChamp("perRue").Valeur = l.GetValeurChamp <string>("perRue") + " #" + noAppart;
                }
            });

            beneficiaires.RetirerChamp("lprPrixRepas");

            Feuille nouvelleFeuille = new Feuille(nomRoute, 2);

            nouvelleFeuille.AjouterTableau(new Tableau(beneficiaires, 120, 28));

            if (cbSommaireRoute.Checked)
            {
                LigneTable ligneSommaire = new LigneTable("Sommaire de la route");
                ligneSommaire.AjouterChamp("Total à livrer", totalNbRepas);
                ligneSommaire.AjouterChamp("Total livrés", "");

                Table sommaireRoute = new Table("Sommaire de la route");
                sommaireRoute.AjouterLigne(ligneSommaire);

                nouvelleFeuille.AjouterTableau(new Tableau(sommaireRoute, 0, 28));
            }

            if (cbSommaireLivraisons.Checked)
            {
                LigneTable ligneSommaireLivraisons = new LigneTable("Sommaire des livraisons");
                ligneSommaireLivraisons.AjouterChamp("Route", nomRoute);
                ligneSommaireLivraisons.AjouterChamp("Total à livrer", totalNbRepas);
                ligneSommaireLivraisons.AjouterChamp("Total livrés", "");

                sommaireLivraisons.AjouterLigne(ligneSommaireLivraisons);
            }

            if (cbDetailRoute.Checked)
            {
                document.AjouterFeuille(nouvelleFeuille);
            }
        }
示例#6
0
        private void btnGenererTableauxActivites_Click(object sender, EventArgs e)
        {
            if (dtpDeActivites.Value.Date > dtpAActivites.Value.Date)
            {
                Journal.AfficherMessage("Veuillez entrer une période de temps valide.", TypeMessage.INFORMATION, false);
                return;
            }

            Classeur document = new Classeur();
            Feuille  feuille  = new Feuille("Tableaux");

            RequeteSelection reqSel = new RequeteSelection(NomTable.champactivite);
            Table            champs = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);

            foreach (LigneTable champ in champs.Lignes)
            {
                reqSel           = new RequeteSelection(NomTable.souschampactivite);
                reqSel.Condition = new ConditionRequete(Operateur.EGAL, champ.GetChamp("chaId"));

                Table sousChamps = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);

                foreach (LigneTable sousChamp in sousChamps.Lignes)
                {
                    reqSel           = new RequeteSelection(NomTable.activite);
                    reqSel.Condition = new ConditionRequete(Operateur.EGAL, sousChamp.GetChamp("scaId"));

                    Table activites      = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);
                    Table statsActivites = new Table("statsactivites");

                    int totalBenevoles     = 0;
                    int totalBeneficiaires = 0;
                    int totalHeures        = 0;
                    int totalActions       = 0;
                    int totalReunions      = 0;

                    foreach (LigneTable activite in activites.Lignes)
                    {
                        int indexActivite = activite.GetValeurChamp <int>("actId");

                        Table benevolesActions        = GetTableau(REQ_ACTIONS_BENEVOLES, COND_DATE_ACTIONS, indexActivite, "actionactivite");
                        Table heuresBenevolesReunions = GetTableau(REQ_REUNIONS_BENEVOLES, COND_DATE_REUNIONS, indexActivite, "reunion");
                        Table heuresEmployesReunions  = GetTableau(REQ_REUNIONS_EMPLOYES, COND_DATE_REUNIONS, indexActivite, "reunion");

                        if (benevolesActions.EstVide && heuresBenevolesReunions.EstVide && heuresEmployesReunions.EstVide)
                        {
                            continue;
                        }

                        int nbHeures = 0;

                        benevolesActions.Lignes.ForEach(l => nbHeures        += l.GetValeurChamp <int>("actaHeuresBenevoles"));
                        heuresBenevolesReunions.Lignes.ForEach(l => nbHeures += l.GetValeurChamp <int>("reuHeuresBenevoles"));
                        heuresEmployesReunions.Lignes.ForEach(l => nbHeures  += l.GetValeurChamp <int>("reuHeuresEmployes"));

                        string nbHeuresTexte = nbHeures == 0 ? "" : nbHeures.ToString();

                        Table nombreBenevoles = GetTableaunNbBenevoles(REQ_NB_BENEVOLES, indexActivite, "");

                        int nbBenevoles = nombreBenevoles.EstVide ? 0 : nombreBenevoles.Lignes[0].GetValeurChamp <int>("nombreBenevoles");
                        benevolesActions.Lignes.ForEach(l => nbBenevoles += l.GetValeurChamp <int>("actaNbBenevolesNonInscrits"));

                        string nbBenevolesTexte = nbBenevoles == 0 ? "" : nbBenevoles.ToString();

                        Table  nombreBeneficiaires  = GetTableau(REQ_NB_BENEFICIAIRES_ACT, COND_DATE_ACTIONS, indexActivite, "actionactivite");
                        int    nbBeneficiaires      = nombreBeneficiaires.EstVide ? 0 : nombreBeneficiaires.Lignes[0].GetValeurChamp <int>("actaNombreBeneficiaires");
                        string nbBeneficiairesTexte = nbBeneficiaires == 0 ? "" : nbBeneficiaires.ToString();

                        int    nbActions      = benevolesActions.NombreLignes;
                        string nbActionsTexte = nbActions == 0 ? "" : nbActions.ToString();

                        int    nbReunions      = heuresBenevolesReunions.NombreLignes;
                        string nbReunionsTexte = nbReunions == 0 ? "" : nbReunions.ToString();

                        LigneTable stats = new LigneTable("statsactivites");
                        stats.AjouterChamp("staaNomActivite", activite.GetValeurChamp <string>("actNom"));
                        stats.AjouterChamp("staaNbBenevoles", nbBenevolesTexte);
                        stats.AjouterChamp("staaNbHeures", nbHeuresTexte);
                        stats.AjouterChamp("staaNbBeneficiaires", nbBeneficiairesTexte);
                        stats.AjouterChamp("staaNbActions", nbActionsTexte);
                        stats.AjouterChamp("staaNbReunions", nbReunionsTexte);

                        statsActivites.AjouterLigne(stats);

                        totalBenevoles     += nbBenevoles;
                        totalHeures        += nbHeures;
                        totalBeneficiaires += nbBeneficiaires;
                        totalActions       += nbActions;
                        totalReunions      += nbReunions;
                    }

                    if (statsActivites.EstVide)
                    {
                        continue;
                    }

                    int indexSousChampActivite = sousChamp.GetValeurChamp <int>("scaId");

                    if (cbTotaliserBenevolesDifferents.Checked)
                    {
                        Table nombreBenevoles = GetTableaunNbBenevoles(REQ_NB_BENEVOLES_TOTAL, indexSousChampActivite, "");
                        totalBenevoles = nombreBenevoles.EstVide ? 0 : nombreBenevoles.Lignes[0].GetValeurChamp <int>("nombreBenevoles");
                    }

                    if (cbTotaliserBeneficiairesDifferents.Checked)
                    {
                        Table nombreBeneficiaires = GetTableau(REQ_NB_BENEFICIAIRES_TOTAL, COND_DATE_ACTIONS, indexSousChampActivite, "actionactivite");
                        totalBeneficiaires = nombreBeneficiaires.EstVide ? 0 : nombreBeneficiaires.Lignes[0].GetValeurChamp <int>("actaNombreBeneficiaires");
                    }

                    LigneTable totaux = new LigneTable("statsactivites");
                    totaux.AjouterChamp("staaNomActivite", "Total");
                    totaux.AjouterChamp("staaNbBenevoles", totalBenevoles);
                    totaux.AjouterChamp("staaNbHeures", totalHeures);
                    totaux.AjouterChamp("staaNbBeneficiaires", totalBeneficiaires);
                    totaux.AjouterChamp("staaNbActions", totalActions);
                    totaux.AjouterChamp("staaNbReunions", totalReunions);

                    statsActivites.AjouterLigne(totaux);

                    Tableau tableau = new Tableau(statsActivites, champ.GetValeurChamp <string>("chaNom"));
                    tableau.AjouterTitre(sousChamp.GetValeurChamp <string>("scaNom"));

                    feuille.AjouterTableau(tableau);
                }
            }

            document.AjouterFeuille(feuille);

            frmPrincipal formulairePrincipal = ParentForm is frmPrincipal ? (frmPrincipal)ParentForm : null;

            if (formulairePrincipal != null)
            {
                formulairePrincipal.AfficherIndication("Génération du document Excel");
            }

            document.Generer();

            if (formulairePrincipal != null)
            {
                formulairePrincipal.EffacerIndication();
            }
        }