Ejemplo n.º 1
0
        /*
         * 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);
            }
        }
Ejemplo n.º 2
0
        /*
         * 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);
            }
        }