/* * Instance de suppression de projet. Permet à l'utilisateur de choisir quel projet il veut supprimer. * Cette fonction est appelée lorsque l'utilisateur consulter l'ensemble des projets et pas un projet * particulier. * Le projet est supprimé de l'arborescence XML supportant le programme. * @arg catalogue, le Catalogue contenant tous les projets * @arg error, indique si le numéro de projet saisi est valide ou pas. On part du principe qu'il n'y a pas d'erreur pour le premier appel. */ protected static void SupprimerProjet(bool error) { if (error) { Console.WriteLine("\nCe que vous avez saisi est incorrect. Recommencez.\n"); } Console.Write("Saisissez le numéro du projet à supprimer (Y pour quitter) : "); string rep = Console.ReadLine(); int repInt = TryParseReponse(rep); if (rep.ToUpper() == "Y") { // Permet de sortir de la fonction si l'utilisateur ne veut pas supprimer de projet en fait } else if (repInt > Catalogue.Projets.Length || repInt <= 0) { SupprimerProjet(true); } else { int removeId = Catalogue.Projets[repInt - 1].Id; Catalogue.RemoveProjet(removeId); } }
/* * 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); } }