public void AddMembre(Membre m) { membres.Add(m); }
//static void ChargerJSON(string pathMembers, string pathPartis) //{ // throw new NotImplementedException(); //} //static void ChargerXML(string pathMembers, string pathPartis) //{ // throw new NotImplementedException(); //} public void ReadCSV(string pathMembers, string pathPartis) { List <List <string> > listsMembres = CSV.Read(pathMembers); Dictionary <Membre, int> membres = new Dictionary <Membre, int>(); foreach (List <string> listMembre in listsMembres) { int parti; Membre membre = new Membre(); for (int i = 0; i < listMembre.Count; i++) { switch (i) { case 0: membre.Id = (int.Parse(listMembre[i])); break; case 1: membre.Name = (listMembre[i]); break; case 2: parti = int.Parse(listMembre[i]); membres.Add(membre, parti); break; default: throw new Exception("Fichier non conforme " + "ligne : " + listsMembres.IndexOf(listMembre).ToString() + ", " + i); } } } List <List <string> > listspartis = CSV.Read(pathPartis); foreach (List <string> list in listspartis) { Parti parti = new Parti(); int chef = -1; for (int i = 0; i < list.Count; i++) { Dictionary <Membre, int> .Enumerator membre = membres.GetEnumerator(); switch (i) { case 0: parti.Id = (int.Parse(list[i])); break; case 1: parti.Name = (list[i]); break; case 2: chef = int.Parse(list[i]); membre = membres.GetEnumerator(); membre.MoveNext(); while (membre.MoveNext()) { if (membre.Current.Key.Id == chef && membre.Current.Value == parti.Id) { parti.Chef = membre.Current.Key; break; } } break; case int n when(n > 2 && n < list.Count): membre = membres.GetEnumerator(); membre.MoveNext(); while (membre.MoveNext()) { if (membre.Current.Key.Id == int.Parse(list[i]) && membre.Current.Value == parti.Id) { membre.Current.Key.Parti = parti; lesmembres.Add(membre.Current.Key); break; } } lespartis.Add(parti); break; default: throw new Exception("Fichier non conforme " + "ligne : " + listspartis.IndexOf(list).ToString() + ", " + i); } } } }