Example #1
0
        private static char enterReservation(Representation rep)
        {
            char choix = '\u0000'; //unicode de null

            Client _client = null;
            string _places = null;
            do
            {
                Console.Clear();
                Console.WriteLine("--- {0} ---", rep.ToString());
                Console.WriteLine(Environment.NewLine);
                Console.WriteLine("--- Nouvelle réservation ---");
                Console.WriteLine(Environment.NewLine);
                /*
                 * saisir les informations
                 */
                bool cliOK = true;
                do
                {
                    Console.Clear();
                    Console.WriteLine("--- Choisissez un client dans la liste ---");
                    Console.WriteLine(Environment.NewLine);
                    /*
                     * afficher les clients
                     */
                    int num = 0;
                    foreach (Client client in fc.clients)
                    {
                        num++;
                        Console.WriteLine("{0} - {1}", num, client.ToString());
                    }
                    /*
                     * choisir le client dans la liste
                     */
                    Console.Write("Saisir le n° du client : ");
                    int numSaisi = int.Parse(Console.ReadLine());

                    //le client existe-t-il ?
                    if (numSaisi > 0 && numSaisi <= fc.clients.Count)
                    {
                        cliOK = true;
                        //conserver la référence du client choisi
                        _client = fc.clients.ElementAt(numSaisi - 1);
                    }
                    else
                    {
                        cliOK = false;
                        Console.WriteLine("Ce client n'existe pas ! Appuyez sur une touche pour revoir la liste.");
                        Console.ReadKey();
                    }
                } while (!cliOK);

                Console.Clear();
                Console.WriteLine("--- {0} ---", rep.ToString());
                Console.WriteLine(Environment.NewLine);
                Console.WriteLine("--- Nouvelle réservation ---");
                Console.WriteLine(Environment.NewLine);
                Console.WriteLine("Client : {0}", _client.ToString());
                Console.Write("Nb places souhaitées ({0} disponibles) : ",rep.placesDispo);
                _places = Console.ReadLine();
                Console.WriteLine("Montant : {0}", rep.tarif * int.Parse(_places));
                Console.WriteLine(Environment.NewLine);
                Console.WriteLine("V. valider - P. Retour menu principal");
                choix = Console.ReadKey().KeyChar;
                switch (choix)
                {
                    case 'v':
                    case 'V':
                        try
                        {
                            /*
                            * ajouter la reservation à la représentation
                            */
                            rep.ajouterReservation(_client,int.Parse(_places));
                        }
                        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;
        }