예제 #1
0
        /*
         * Interface de changement de projet. Permet à l'utilisateur d'effectuer des modifications
         * sur un projet déjà existant.
         * @arg idProjet, l'Id du projet à mettre à jour
         */
        protected static void ChangerProjet(Projet projetToChange)
        {
            int indexProjet = Catalogue.FindProjet(projetToChange.Id);

            bool doneMaj  = false;
            bool errorMaj = false;

            while (!doneMaj)
            {
                Console.Clear();

                projetToChange.PrintInfos();

                Console.WriteLine("\n====== Mise à jour d'un projet ======\n");
                AfficherGrilleChoix("Que voulez-vous faire ?", new string[] { "Changer l'intitulé", "Changer le type", "Modifier le Client", "Ajouter un livrable", "Modifier un livrable", "Ajouter un encadrant", "Modifier un encadrant", "Ajouter un reviewer", "Modifier un reviewer", "Ajouter un élève", "Modifier un élève", "Modifier la date de début", "Modifier la date de fin", "Revenir au menu précédent" });

                if (errorMaj)
                {
                    Console.WriteLine("Ce que vous avez saisi est incorrect, recommencez.");
                }
                Console.Write("Votre réponse : ");
                int reponse = TryParseReponse(Console.ReadLine());

                if (reponse <= 0 || reponse > 14)
                {
                    errorMaj = true;
                }
                else if (reponse == 14)
                {
                    doneMaj = true;
                }
                else
                {
                    errorMaj = false;
                    projetToChange.MiseAJour(reponse);
                    Catalogue.Projets[indexProjet] = projetToChange;
                    Catalogue.Save();
                }
            }
        }