/// <summary> /// Lister les représentations d'un spectacle /// </summary> /// <returns></returns> private static char MnuRepresentations(Spectacle spectacle) { char choix = '\u0000'; //unicode de null do { Console.Clear(); Console.WriteLine("--- {0} ---", spectacle.ToString()); Console.WriteLine(Environment.NewLine); Console.WriteLine("--- Liste des représentations ---"); Console.WriteLine(Environment.NewLine); int num = 0; foreach (Representation rp in spectacle.Representations) { num++; Console.WriteLine("{0} - date : {1} places libres : {2} tarif : {3}", num, rp.Date, rp.PlacesDispo, rp.Tarif); } Console.WriteLine(Environment.NewLine); Console.WriteLine("A. ajouter - S. supprimer - P. Retour menu principal"); choix = Console.ReadKey().KeyChar; switch (choix) { case 'a': case 'A': enterRepresentation(spectacle); break; case 's': case 'S': Console.WriteLine("\nEntrer le numero du spectacle à supprimer ?"); int numero; if (int.TryParse(Console.ReadLine(), out numero)) if (0 < numero && spectacle.Representations.Count > numero-1) spectacle.annulerRepresentation(spectacle.Representations[numero-1]); break; } } while (choix != 'p' && choix != 'P'); //unicode de P et p return choix; }
/// <summary> /// Ajouter une nouvelle représentation au spectacle /// </summary> /// <param name="s"></param> private static char enterRepresentation(Spectacle s) { char choix = '\u0000'; //unicode de null string _date; string _places; string _tarif; do { Console.Clear(); Console.WriteLine("--- {0} ---", s.ToString()); Console.WriteLine(Environment.NewLine); Console.WriteLine("--- Nouvelle représentation ---"); Console.WriteLine(Environment.NewLine); /* * saisir les informations */ Console.Write("Date représentation : "); _date = Console.ReadLine(); Console.Write("Nb places disponibles : "); _places = Console.ReadLine(); Console.Write("tarif : "); _tarif = Console.ReadLine(); Console.WriteLine(Environment.NewLine); Console.WriteLine("V. valider - P. Retour menu principal"); choix = Console.ReadKey().KeyChar; switch (choix) { case 'v': case 'V': try { /* * construire la représentation en mémoire */ Representation rp = new Representation(); rp.PlacesDispo = int.Parse(_places); rp.Tarif = double.Parse(_tarif); rp.Date = DateTime.Parse(_date); /* * ajouter la représentation au spectacle */ s.ajouterRepresentation(rp); } catch (Exception) { Console.WriteLine("Erreur lors de la création de la représentation."); } break; } } while (choix != 'p' && choix != 'P' && choix != 'v' && choix != 'V'); return choix; }