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(); } }
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); } }
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(); } }
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(); } }
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(); } }
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(); } }