Example #1
0
        void EnregistrerCSV(string path)
        {
            string pathMembres, pathPartis;

            pathMembres = TrimPath(path) + "/membres.cs";
            pathPartis  = TrimPath(path) + "/partis.csv";
            List <string> paths = new List <string> {
                pathMembres,
                pathPartis
            };

            StringWriter.write(path, false, paths);
            List <List <string> > lists = new List <List <string> >();

            foreach (Membre elt in membres)
            {
                List <string> list = new List <string>
                {
                    elt.Id.ToString(),
                            elt.Name,
                            elt.Prenom,
                            elt.GetPartiId().ToString()
                };
                lists.Add(list);
            }
            CSV.enregistrer(pathMembres, lists);
            lists.Clear();
            foreach (Parti elt in partis)
            {
                List <string> list = new List <string>
                {
                    elt.Id.ToString(),
                           elt.Name,
                           elt.Chef.Id.ToString()
                };
                foreach (Membre m in elt.GetMembres())
                {
                    list.Add(m.Id.ToString());
                }
                lists.Add(list);
            }
            CSV.enregistrer(pathPartis, lists);
        }
Example #2
0
        //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);
                    }
                }
            }
        }