Exemple #1
0
        static List <Attraction> LectureAttraction(StreamReader monStreamReader)
        {
            List <Attraction> liste_attraction = new List <Attraction>();

            string ligne = null;

            for (int i = 0; i < 18; i++)
            {
                ligne = monStreamReader.ReadLine();
            }


            while (ligne != null)
            {
                string[] temp             = ligne.Split(';');
                int      identifiant      = int.Parse(temp[1]);
                int      nbMinimMonstre   = int.Parse(temp[3]);
                bool     besoinSpecifique = bool.Parse(temp[4]);

                switch (temp[0])
                {
                case "Boutique":
                    typeBoutique monType = typeBoutique.none;
                    try { monType = (typeBoutique)Enum.Parse(typeof(typeBoutique), temp[6]); } catch (InvalidCastException e) { Console.WriteLine(e.Message); }
                    Boutique maBoutique = new Boutique(identifiant, temp[2], nbMinimMonstre, besoinSpecifique, temp[5], monType);
                    liste_attraction.Add(maBoutique);
                    break;

                case "DarkRide":
                    TimeSpan T = new TimeSpan(0, 0, 0);
                    try { int heure = int.Parse(temp[6]); T = new TimeSpan(heure, 0, 0); } catch (Exception e) { Console.Write(e.Message); }
                    bool vehicule = false; try { vehicule = bool.Parse(temp[7]); } catch (InvalidCastException e) { Console.WriteLine(e.Message); }

                    DarkRide monDarkRide = new DarkRide(identifiant, temp[2], nbMinimMonstre, besoinSpecifique, temp[5], T, vehicule);
                    liste_attraction.Add(monDarkRide);
                    break;

                case "RollerCoaster":
                    int           ageMinim    = int.Parse(temp[7]);
                    float         tailleMinim = float.Parse(temp[8]);
                    TypeCategorie MyType;
                    MyType = (TypeCategorie)Enum.Parse(typeof(TypeCategorie), temp[6]);
                    RollerCoaster monRollerCoaster = new RollerCoaster(identifiant, temp[2], nbMinimMonstre, besoinSpecifique, temp[5], MyType, ageMinim, tailleMinim);
                    liste_attraction.Add(monRollerCoaster);
                    break;

                case "Spectacles":
                    List <DateTime> liste_horaire = new List <DateTime>();
                    int             nbPlace       = int.Parse(temp[7]);
                    string[]        temp2         = temp[8].Split(' ');
                    for (int i = 0; i < temp2.Length; i++)
                    {
                        DateTime m = Convert.ToDateTime(temp2[i]);
                        liste_horaire.Add(m);
                    }
                    Spectacle monSpectacle = new Spectacle(identifiant, temp[2], nbMinimMonstre, besoinSpecifique, temp[5], temp[6], nbPlace, liste_horaire);
                    liste_attraction.Add(monSpectacle);
                    break;
                }
                ligne = monStreamReader.ReadLine();
            }
            monStreamReader.Close();
            return(liste_attraction);
        }