예제 #1
0
        /// <summary>
        /// Fonction qui renvoie l'article choisi.
        /// </summary>
        /// <param name="categorie">Catégorie de l'article à choisir.</param>
        /// <param name="commande">Conserve la commande en cours.</param>
        /// <returns>Renvoie l'article choisi par le client.</returns>
        static public Article Choix(short categorie, Commande commande)
        {
            int    entreeUtilisateur;
            bool   validerArticle    = false;
            bool   conversionReussie = false;
            bool   choixValide       = false;
            string phraseChoix       = "";
            string confirmationChoix = "";

            Article        article    = new Article("", 0, 0);
            List <Article> listeChoix = new List <Article>();

            listeChoix = DonneePublique.ListeArticleParCategorie(categorie);

            if (categorie == (short)DonneePublique.Categories.Burger)
            {
                phraseChoix       = "Quel Burger voulez-vous choisir ?";
                confirmationChoix = "Vous avez choisi le burger";
            }
            else if (categorie == (short)DonneePublique.Categories.Boisson)
            {
                phraseChoix       = "Quelle Boisson voulez-vous choisir ?";
                confirmationChoix = "Vous avez choisi la boisson";
            }
            else if (categorie == (short)DonneePublique.Categories.Salade)
            {
                phraseChoix       = "Quelle Salade voulez-vous choisir ?";
                confirmationChoix = "Vous avez choisi la salade";
            }
            else if (categorie == (short)DonneePublique.Categories.Glace)
            {
                phraseChoix       = "Quelle Glace voulez-vous choisir ?";
                confirmationChoix = "Vous avez choisi la glace";
            }

            do
            {
                Console.Clear();
                do
                {
                    Console.Clear();
                    do
                    {
                        Console.Clear();
                        Console.WriteLine(phraseChoix);
                        int i = 0;
                        foreach (Article articleChoix in listeChoix)
                        {
                            Console.WriteLine((i + 1) + ".{0,12} : {1}", articleChoix.Nom, articleChoix.PrixUnitaire);
                            i++;
                        }

                        conversionReussie = lireEntier(out entreeUtilisateur);
                    } while (!conversionReussie);

                    if ((entreeUtilisateur > 0) && (entreeUtilisateur <= listeChoix.Count))
                    {
                        article     = listeChoix[entreeUtilisateur - 1];
                        choixValide = true;
                    }
                    else
                    {
                        choixValide = false;
                    }
                } while (!choixValide);

                do
                {
                    Console.Clear();
                    Console.WriteLine("{0} : {1}", confirmationChoix, article.Nom);
                    Console.WriteLine("Êtes vous sur de votre choix : {0} ?", article.Nom);

                    Console.WriteLine("1.Oui\n2.Non");
                    conversionReussie = lireEntier(out entreeUtilisateur);
                } while (!conversionReussie);

                if (entreeUtilisateur == 1)
                {
                    validerArticle = true;
                    article.Quantite++;
                }
                else
                {
                    validerArticle = false;
                    article        = new Article("", 0, 0);
                }
            } while (!validerArticle);

            commande.ListeArticle = Client.ChoixArticle(commande.ListeArticle, article);

            return(article);
        }
예제 #2
0
        /// <summary>
        /// Choix du Menu Principal. Le client peut choisir son menu ou bien un article, etc.
        /// </summary>
        public static void MenuPrincipal()
        {
            bool     quitter     = false;
            string   choixDuMenu = "";
            Commande commande    = new Commande();

            commande.Numero = Commande.counter;
            listeCommandes.Add(commande);

            for (int i = 0; i < DonneePublique.ListeArticle.Length; i++)
            {
                DonneePublique.ListeArticle[i].Quantite = 0;
            }

            do
            {
                if (commande.Paye)
                {
                    Console.WriteLine("La commande est payée.");
                    Console.ReadLine();
                    choixDuMenu = "Q";
                    quitter     = true;
                }

                switch (choixDuMenu)
                {
                case "1":
                    choixDuMenu = "";
                    ChoixTypeMenu(commande);
                    break;

                case "2":
                    choixDuMenu = "";
                    ChoixArticle(commande);
                    break;

                case "3":
                    choixDuMenu = "";
                    if (commande.ListeArticle.Length > 0)
                    {
                        SupprimerArticle(commande);
                    }
                    break;

                case "4":
                    choixDuMenu = "";
                    break;

                case "Q":
                case "q":
                    quitter = true;
                    break;

                case "5":
                    choixDuMenu = "";
                    if (commande.ListeArticle.Length > 0)
                    {
                        Paiement(commande);
                    }
                    break;

                default:
                    Console.Clear();
                    AfficherCommande(commande);
                    Console.WriteLine("Bonjour et bienvenue dans VégétaFood !");
                    Console.WriteLine("--- CHOIX DE VOTRE COMMANDE --- ");
                    Console.WriteLine("1. Menu");
                    Console.WriteLine("2. Article");
                    if (commande.ListeArticle.Length > 0)
                    {
                        Console.WriteLine("3. Annuler un article");
                    }
                    Console.WriteLine("4. Annuler le menu");
                    if (commande.ListeArticle.Length > 0)
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.Write("5. Payer\n");
                        Console.ResetColor();
                    }
                    Console.WriteLine("Q. Quitter");
                    Console.WriteLine("\nSaisissez votre choix.");
                    choixDuMenu = Console.ReadLine();
                    break;
                }
            } while (!quitter);
        }