Пример #1
0
 public void EvaluerGroupe(IdentifiantGroupe groupe, List <KeyValuePair <string, Membre> > membres)
 {
     IdGroupe = groupe;
     AnimateurActif.Valeur         = membres.Where(m => m.Value.NbPostes > 0).Count();
     MultiplePosteSup.Valeur       = membres.Where(m => m.Value.NbPostesSup > 1).Count();
     MultiplePoste.Valeur          = membres.Where(m => m.Value.NbPostes >= 2).Count();
     VAJIncomplete.Valeur          = membres.Where(m => (m.Value.Vaj.Statut == VAJ.VAJStatut.NON_REMPLIE) || (m.Value.Vaj.Statut == VAJ.VAJStatut.INCOMPLETE)).Count();
     PJIncomplete.Valeur           = membres.Where(m => m.Value.PrioriteJeunesse == null).Count();
     CCIncomplete.Valeur           = membres.Where(m => m.Value.CodeConduite == null).Count();
     Secouriste.Valeur             = membres.Where(m => m.Value.ListeDesBrevets.Secourisme()).Count();
     ActiviteHiver.Valeur          = membres.Where(m => m.Value.ListeDesBrevets.ActiviteHiver()).Count();
     HiverLourd.Valeur             = membres.Where(m => m.Value.ListeDesBrevets.HiverLourd()).Count();
     HiverLeger.Valeur             = membres.Where(m => m.Value.ListeDesBrevets.HiverLeger()).Count();
     Gilwell.Valeur                = membres.Where(m => m.Value.ListeDesBrevets.Gilwell()).Count();
     Grege.Valeur                  = membres.Where(m => m.Value.ListeDesBrevets.Grege()).Count();
     BadgeBois.Valeur              = membres.Where(m => m.Value.ListeDesBrevets.BadgeBois()).Count();
     CabestanBleu.Valeur           = membres.Where(m => m.Value.ListeDesBrevets.CabestanBleu()).Count();
     CabestanVert.Valeur           = membres.Where(m => m.Value.ListeDesBrevets.CabestanVert()).Count();
     CabestanViolet.Valeur         = membres.Where(m => m.Value.ListeDesBrevets.CabestanViolet()).Count();
     FormationBaseCompletee.Valeur = membres.Where(m => m.Value.ListeDesFormations.BaseComplete()).Count();
 }
Пример #2
0
        public MetriqueGroupe(IdentifiantGroupe groupe, List <KeyValuePair <string, Membre> > membres)
        {
            AnimateurActif         = new ValeurMetriqueAbsolu("Animateurs Actifs", true);
            MultiplePosteSup       = new ValeurMetrique("Membres avec plusieurs postes de supervision");
            MultiplePoste          = new ValeurMetrique("Membres avec plusieurs postes");
            VAJIncomplete          = new ValeurMetrique("VAJ incomplète");
            PJIncomplete           = new ValeurMetrique("Priorité Jeunesse incomplète");
            CCIncomplete           = new ValeurMetrique("Code de conduite incomplet");
            Secouriste             = new ValeurMetrique("Secouriste", false, true);
            ActiviteHiver          = new ValeurMetrique("Activité Hiver", false, true);
            HiverLourd             = new ValeurMetrique("Camping Hiver lourd", false, true);
            HiverLeger             = new ValeurMetrique("Camping Hiver léger", false, true);
            Gilwell                = new ValeurMetrique("Noeud de Gilwell", false, true);
            Grege                  = new ValeurMetrique("Foulard Grège", false, true);
            BadgeBois              = new ValeurMetrique("Badge de bois", false, true);
            CabestanBleu           = new ValeurMetrique("Cabestan Bleu", false, true);
            CabestanVert           = new ValeurMetrique("Cabestan Vert", false, true);
            CabestanViolet         = new ValeurMetrique("Cabestan Violet", false, true);
            FormationBaseCompletee = new ValeurMetrique("Formation de base complétées", false, true);

            EvaluerGroupe(groupe, membres);
        }
Пример #3
0
        public void Exporter(string file)
        {
            Excel.Application oXL;
            Excel._Workbook   oWB;
            Excel._Worksheet  oSheet;

            try
            {
                //Start Excel and get Application object.
                oXL = new Excel.Application
                {
                    Visible = true
                };

                //Get a new workbook.
                oWB    = oXL.Workbooks.Add(Missing.Value);
                oSheet = (Excel._Worksheet)oWB.ActiveSheet;

                int propTitreCount = typeof(MetriqueGroupe).GetProperties().Count();
                int cellColumn     = 1;
                foreach (PropertyInfo prop in typeof(MetriqueGroupe).GetProperties().OrderBy(x => x.Name))
                {
                    if (prop.PropertyType == typeof(IdentifiantGroupe))
                    {
                        oSheet.Cells[1, cellColumn] = "GroupeName";
                        cellColumn++;
                        oSheet.Cells[1, cellColumn] = "GroupeId";
                    }
                    else if (prop.PropertyType == typeof(ValeurMetriqueAbsolu))
                    {
                        string baseName = prop.Name;
                        oSheet.Cells[1, cellColumn] = baseName + "Valeur";
                        cellColumn++;
                        oSheet.Cells[1, cellColumn] = baseName + "Rang";
                    }
                    else if (prop.PropertyType == typeof(ValeurMetrique))
                    {
                        string baseName = prop.Name;
                        oSheet.Cells[1, cellColumn] = baseName + "Valeur";
                        cellColumn++;
                        oSheet.Cells[1, cellColumn] = baseName + "Rang";
                        cellColumn++;
                        oSheet.Cells[1, cellColumn] = baseName + "ValeurPerCapita";
                        cellColumn++;
                        oSheet.Cells[1, cellColumn] = baseName + "RangPerCapita";
                    }
                    cellColumn++;
                }
                oSheet.get_Range("A1", "AZ1").Font.Bold         = true;
                oSheet.get_Range("A1", "AZ1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;

                int propCount = typeof(MetriqueGroupe).GetProperties().Count();
                var cellRow   = 2;
                foreach (MetriqueGroupe metGroupe in Values)
                {
                    if (metGroupe.AnimateurActif.Valeur <= 0)
                    {
                        continue;
                    }

                    cellColumn = 1;
                    foreach (PropertyInfo prop in metGroupe.GetType().GetProperties().OrderBy(x => x.Name))
                    {
                        if (prop.PropertyType == typeof(IdentifiantGroupe))
                        {
                            IdentifiantGroupe idGroupe = (IdentifiantGroupe)prop.GetValue(metGroupe);
                            oSheet.Cells[cellRow, cellColumn] = idGroupe.Name;
                            cellColumn++;
                            oSheet.Cells[cellRow, cellColumn] = idGroupe.Value;
                            cellColumn++;
                        }
                        else if (prop.PropertyType == typeof(ValeurMetriqueAbsolu))
                        {
                            ValeurMetrique valMetrique = (ValeurMetrique)prop.GetValue(metGroupe);
                            oSheet.Cells[cellRow, cellColumn] = valMetrique.Valeur;
                            cellColumn++;
                            oSheet.Cells[cellRow, cellColumn] = valMetrique.Rang;
                            cellColumn++;
                        }
                        else if (prop.PropertyType == typeof(ValeurMetrique))
                        {
                            ValeurMetrique valMetrique = (ValeurMetrique)prop.GetValue(metGroupe);
                            oSheet.Cells[cellRow, cellColumn] = valMetrique.Valeur;
                            cellColumn++;
                            oSheet.Cells[cellRow, cellColumn] = valMetrique.Rang;
                            cellColumn++;
                            oSheet.Cells[cellRow, cellColumn] = metGroupe.PerCapita(valMetrique).ToString("P0");
                            cellColumn++;
                            oSheet.Cells[cellRow, cellColumn] = valMetrique.RangPerCapita;
                            cellColumn++;
                        }
                    }
                    cellRow++;
                }

                oSheet.get_Range("A1", "AZ1").EntireColumn.AutoFit();

                oWB.SaveAs(file,
                           Excel.XlFileFormat.xlOpenXMLWorkbook, Missing.Value, Missing.Value,
                           false, false, Excel.XlSaveAsAccessMode.xlNoChange,
                           Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                oXL.Visible     = true;
                oXL.UserControl = true;
            }
            catch (Exception theException)
            {
                string errorMessage;
                errorMessage = "Error: ";
                errorMessage = string.Concat(errorMessage, theException.Message);
                errorMessage = string.Concat(errorMessage, " Line: ");
                errorMessage = string.Concat(errorMessage, theException.Source);

                MessageBox.Show(errorMessage, "Error");
            }
        }