예제 #1
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);
            }
        }
예제 #2
0
        /*
         * 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);
                }
            }
        }