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