/// <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); }
/// <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); }