/* * Permet à l'utilisateur de consulter un projet précis en lui demandant lequel il veut voir. * Si la réponse n'est pas valide, la fonction est utilisée à nouveau. * @arg catalogue, le Catalogue contenant tous les projets * @arg error, indique si le numéro de projet saisi est valide ou pas. */ protected static void ConsulterProjetParticulier(List <Projet> projets, bool error) { if (error) { Console.WriteLine("\nCe que vous avez saisi est incorrect. Recommencez.\n"); } Console.Write("Saisissez le numéro du projet à consulter : "); string rep = Console.ReadLine(); int repAffichage = TryParseReponse(rep); if (repAffichage > projets.Count || repAffichage <= 0) { ConsulterProjetParticulier(projets, true); } else { bool doneProjetParticulier = false; bool errorProjetParticulier = false; string repProjetParticulier; do { projets[repAffichage - 1].PrintInfos(); AfficherGrilleChoix("Que voulez-vous faire ?", new string[] { "Revenir au menu précédent", "Modifier ce projet", "Supprimer ce projet" }); if (errorProjetParticulier) { Console.Write("Ce que vous avez entré est incorrect \nRentrez à nouveau votre réponse : "); } Console.Write("Votre réponse : "); repProjetParticulier = Console.ReadLine(); //Revenir au menu précédent if (repProjetParticulier == "1") { doneProjetParticulier = true; } // Modifier le projet else if (repProjetParticulier == "2") { ChangerProjet(projets[repAffichage - 1]); } // Supprimer le projet else if (repProjetParticulier == "3") { int removeId = projets[repAffichage - 1].Id; Catalogue.RemoveProjet(removeId); projets.RemoveAt(repAffichage - 1); doneProjetParticulier = true; } else { errorProjetParticulier = true; } } while (!doneProjetParticulier); } }
/* * Affiche l'ensemble des projets ainsi qu'un menu de fonctionnalités */ protected static void ConsulterProjets() { // Boucle ne se terminant que si l'utilisateur décide de quitter le programme bool doneConsulter = false; while (!doneConsulter) { Console.Clear(); Catalogue.PrintCatalogue(); // Si le catalogue est vide on restreint les options if (Catalogue.Projets.Length == 0) { AfficherGrilleChoix("Que voulez-vous faire ?", new string[] { "Ajouter un projet", "Quitter" }); // boucle while pour demander une réponse valide à l'utilisateur bool doneRep = false; bool error = false; string rep; do { if (error) { Console.Write("Ce que vous avez entré est incorrect \nRentrez à nouveau votre réponse : "); } rep = Console.ReadLine(); if (rep == "1") { AjouterProjet(false); doneRep = true; } else if (rep == "2") { doneRep = true; Environment.Exit(0); } else { error = true; } } while (!doneRep); } // Si le Catalogue n'est pas vide else { AfficherGrilleChoix("Que voulez-vous faire ?", new string[] { "Consulter un projet particulier", "Chercher un projet", "Ajouter un projet", "Supprimer un projet", "Quitter" }); // boucle while pour demander une réponse valide à l'utilisateur bool doneRep = false; bool error = false; do { if (error) { Console.Write("Ce que vous avez entré est incorrect \nRentrez à nouveau votre réponse : "); } int rep = TryParseReponse(Console.ReadLine()); if (rep == 1) { ConsulterProjetParticulier(false); doneRep = true; } else if (rep == 2) { ChercherProjet(); doneRep = true; } else if (rep == 3) { AjouterProjet(false); doneRep = true; } else if (rep == 4) { SupprimerProjet(false); doneRep = true; } else if (rep == 5) { doneRep = true; Environment.Exit(0); } else { error = true; } } while (!doneRep); } } }