private void btnExtract_Click(object sender, RoutedEventArgs e) { try { currentDir = tbSelectedPath.Text; indicSelectionne = cbSelectIndicateur.SelectedItem as Indicateur; if (indicSelectionne is IndicateurTauxRecouvrement) { (indicSelectionne as IndicateurTauxRecouvrement).extractOutputTauxToCSV(currentDir); } else if (indicSelectionne is IndicateurDensiteRecouvrement) { (indicSelectionne as IndicateurDensiteRecouvrement).extractOutputDensiteRecouvrementToCSV(currentDir); } else if (indicSelectionne is IndicateurDispersionPA) { (indicSelectionne as IndicateurDispersionPA).extractOutputDispersionToCSV(currentDir); } else if (indicSelectionne is IndicateurAllerRetour) { (indicSelectionne as IndicateurAllerRetour).extractOutputAllerRetourToCSV(currentDir); } MessageBox.Show("L'extraction a été réalisée avec succès pour l'indicateur " + indicSelectionne.Title + " dans le répertoire " + currentDir, "Extraction terminée", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Méthode pour fusionner les utilisateurs de deux indicateurs /// Nécessaire pour la création d'un indicateur à partir de deux autres indicateurs (pour les comparaisons) /// </summary> /// <param name="i1">Indicateur 1 à fusionner</param> /// <param name="i2">Indicateur 2 à fusionner</param> /// <returns>Liste de positions résultant de la fusion</returns> protected List<int> fusionUsers(Indicateur i1, Indicateur i2) { List<int> newlist = new List<int>(); foreach (int i in i1.users) { if (!newlist.Contains(i)) { newlist.Add(i); } } return newlist; }
/// <summary> /// Méthode pour fusionner les modalités S de deux indicateurs /// Nécessaire pour la création d'un indicateur à partir de deux autres indicateurs (pour les comparaisons) /// </summary> /// <param name="i1">Indicateur 1 à fusionner</param> /// <param name="i2">Indicateur 2 à fusionner</param> /// <returns>Booléen résultant de la fusion</returns> protected bool fusionS(Indicateur i1, Indicateur i2) { return ((i1.modS) || (i2.modS)); }
/// <summary> /// Méthode pour fusionner les modalités PA de deux indicateurs /// Nécessaire pour la création d'un indicateur à partir de deux autres indicateurs (pour les comparaisons) /// </summary> /// <param name="i1">Indicateur 1 à fusionner</param> /// <param name="i2">Indicateur 2 à fusionner</param> /// <returns>Booléen résultant de la fusion</returns> protected bool fusionPA(Indicateur i1, Indicateur i2) { return ((i1.modPA) || (i2.modPA)); }
/// <summary> /// Méthode pour fusionner les ordres de modalité de deux indicateurs /// Nécessaire pour la création d'un indicateur à partir de deux autres indicateurs (pour les comparaisons) /// </summary> /// <param name="i1">Indicateur 1 à fusionner</param> /// <param name="i2">Indicateur 2 à fusionner</param> /// <returns>Liste des ordres de modalité résultant de la fusion</returns> protected List<OrdreGroupe> fusionOrdres(Indicateur i1, Indicateur i2) { List<OrdreGroupe> newList = new List<OrdreGroupe>(); foreach (OrdreGroupe o in i1.ordres) { if (!newList.Contains(o)) { newList.Add(o); } } return newList; }
/// <summary> /// Méthode pour fusionner les groupes de deux indicateurs /// Nécessaire pour la création d'un indicateur à partir de deux autres indicateurs (pour les comparaisons) /// </summary> /// <param name="i1">Indicateur 1 à fusionner</param> /// <param name="i2">Indicateur 2 à fusionner</param> /// <returns>Liste de groupes résultant de la fusion</returns> protected List<Groupe> fusionGroupes(Indicateur i1, Indicateur i2) { List<Groupe> newList = new List<Groupe>(); foreach (Groupe g in i1.mesGroupes) { if (!newList.Contains(g)) { newList.Add(g); } } return newList; }
/// <summary> /// Méthode qui génère une liste d'indicateur en fonction d'une autre liste d'indicateur (même type d'indicateur) /// </summary> /// <param name="ind">Indicateur de référence</param> /// <returns>Liste d'indicateur du même type que l'indicateur de référence</returns> public static List<Indicateur> genererListeIndicateursDetermines(Indicateur ind) { List<Indicateur> res = new List<Indicateur>(); if (ind.GetType().Equals(typeof(IndicateurTauxRecouvrement))) { foreach (IndicateurTauxRecouvrement item in AppData.IndicateursTauxRecouvrement) res.Add(item); } else if (ind.GetType().Equals(typeof(IndicateurDensiteRecouvrement))) { foreach (IndicateurDensiteRecouvrement item in AppData.IndicateursDensiteRecouvrement) res.Add(item); } else if (ind.GetType().Equals(typeof(IndicateurDispersionPA))) { foreach (IndicateurDispersionPA item in AppData.IndicateursDispersionPA) res.Add(item); } else if (ind.GetType().Equals(typeof(IndicateurAllerRetour))) { foreach (IndicateurAllerRetour item in AppData.IndicateursAllerRetour) res.Add(item); } return res; }