Esempio n. 1
0
        /*
         * Permet de créer un intervenant en indiquant directement sa spécification (eleve etc)
         */
        public static Intervenant CreateIntervenant(string type)
        {
            Console.Write("\nLe nom de la personne : ");
            string nom = Console.ReadLine();

            Console.Write("Son Prénom : ");
            string prenom = Console.ReadLine();

            //Création des rôles de l'intervenant
            Console.WriteLine("\nVous allez maintenant rentrer le ou les rôles de cette personne.");
            List <Role> roles = new List <Role>();

            bool doneRole = false;

            do
            {
                if (roles.Count == 0)
                {
                    Console.Write("Indiquez le rôle de cette personne dans ce projet : ");
                }
                else
                {
                    Console.Write("Indiquez un autre rôle ou entrez Y pour quitter : ");
                }

                string roleInput = Console.ReadLine();
                if (roleInput.ToUpper() == "Y")
                {
                    doneRole = true;
                }
                else
                {
                    roles.Add(new Role(roleInput));
                }
            }while (!doneRole);

            //Création de l'intervenant
            if (type == "eleve") //élève
            {
                return(Eleve.CreateEleve(nom, prenom, roles.ToArray()));
            }
            else if (type == "enseignant") //enseignant
            {
                return(Enseignant.CreateEnseignant(nom, prenom, roles.ToArray()));
            }
            else if (type == "externe")//externe
            {
                return(Externe.CreateExterne(nom, prenom, roles.ToArray()));
            }
            else
            {
                return(new Intervenant(nom, prenom, roles.ToArray()));
            }
        }
Esempio n. 2
0
        /*
         * Permet de créer un intervenant en indiquant directement son rôle
         */
        public static Intervenant CreateIntervenant(Role role)
        {
            Console.Write("\nLe nom de la personne : ");
            string nom = Console.ReadLine();

            Console.Write("Son Prénom : ");
            string prenom = Console.ReadLine();

            //Sélection spécification de la classe intervenant
            string inputSpec;
            bool   doneSpec = false;

            do
            {
                Console.WriteLine("Cette personne est un");
                Console.WriteLine("Eleve : entrez 1,   Enseignant : entrez 2,  Externe : entrez 3,  Autre : entrez 4");

                Regex regSpec = new Regex("^[1-4]$");
                inputSpec = Console.ReadLine();

                if (regSpec.Match(inputSpec).Success)
                {
                    doneSpec = true;
                }
                else
                {
                    Console.WriteLine("Votre entrée est incorrecte");
                }
            }while (!doneSpec);

            //Création des rôles de l'intervenant
            Role[] roles = new Role[] { role };

            //Création de l'intervenant
            if (inputSpec == "1") //élève
            {
                return(Eleve.CreateEleve(nom, prenom, roles));
            }
            else if (inputSpec == "2") //enseignant
            {
                return(Enseignant.CreateEnseignant(nom, prenom, roles));
            }
            else if (inputSpec == "3")//externe
            {
                return(Externe.CreateExterne(nom, prenom, roles));
            }
            else
            {
                return(new Intervenant(nom, prenom, roles));
            }
        }
Esempio n. 3
0
        /*
         * Interface de mise à jour d'un projet. Permet à l'utilisateur de modifier les différents éléments
         * d'un projet donné.
         * @arg indicateurChangement, l'id du projet à modifier
         */
        public void MiseAJour(int indicateurChangement)
        {
            Console.Clear();

            // Modification intitulé du projet
            if (indicateurChangement == 1)
            {
                Console.WriteLine($"Vous avez choisi de modifier l'intitulé du projet. \n\nL'intitulé actuel est : {Intitule}");
                Console.WriteLine("\nSaisissez le nouvel intitulé de votre projet : ");
                string intitule = Console.ReadLine();
                Intitule = intitule;
            }

            // Modification type du projet
            else if (indicateurChangement == 2)
            {
                Console.WriteLine("\nSaisissez le nouveau type de votre projet : ");
                string type = Console.ReadLine();
                Type = type;
            }

            // Modification client
            else if (indicateurChangement == 3)
            {
                Console.WriteLine("Vous avez choisi de modifier le client du projet. \nVoici les informations sur le client actuel");
                AfficherIntervenant(Client, "Client");

                Console.WriteLine("");
                Console.WriteLine("Rentrez à présent les informations du nouveau client");
                Client = Intervenant.CreateIntervenant(new Role("Client"));
            }

            // Ajout livrable
            else if (indicateurChangement == 4)
            {
                Console.WriteLine("Vous avez choisi d'ajouter un nouveau livrable à ce projet.\n Voici la liste des livrables du projet.\n");
                AfficherListeLivrables(Livrables);

                Livrable[] tmpLivrables = new Livrable[Livrables.Length + 1];

                // Ajout de tous les livrables déjà existants dans le nouveau tableau de livrables
                for (int i = 0; i < Livrables.Length; i++)
                {
                    tmpLivrables[i] = Livrables[i];
                }
                tmpLivrables[tmpLivrables.Length - 1] = Livrable.CreateLivrable();

                Livrables = tmpLivrables;
            }

            // Modification livrable
            else if (indicateurChangement == 5)
            {
                Console.WriteLine("Vous avez choisi de modifier un livrable. Voici la liste des livrables actuels\n ");
                AfficherListeLivrables(Livrables);

                bool errorLivrable     = false;
                bool doneModifLivrable = false;
                while (!doneModifLivrable)
                {
                    if (errorLivrable)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Indiquez le numéro du livrable à modifier : ");
                    string repLivrable    = Console.ReadLine();
                    int    indiceLivrable = Program.TryParseReponse(repLivrable);

                    if (indiceLivrable < 0 || indiceLivrable > Livrables.Length)
                    {
                        errorLivrable = true;
                    }
                    else
                    {
                        errorLivrable                 = false;
                        doneModifLivrable             = true;
                        Livrables[indiceLivrable - 1] = Livrable.CreateLivrable();
                    }
                }
            }

            // Ajouter un encadrant
            else if (indicateurChangement == 6)
            {
                Console.WriteLine("Vous avez choisi d'ajouter un nouvel encadrant. \nVoici la liste des encadrants actuels du projet.\n");
                AfficherListeIntervenants(Encadrants, "Encadrants");
                Console.WriteLine("");

                Intervenant[] tmpEncadrants = new Intervenant[Encadrants.Length + 1];

                // Ajout de tous les encadrants déjà existants dans le nouveau tableau d'encadrants
                for (int i = 0; i < Encadrants.Length; i++)
                {
                    tmpEncadrants[i] = Encadrants[i];
                }
                tmpEncadrants[tmpEncadrants.Length - 1] = Intervenant.CreateIntervenant(new Role("Encadrant"));

                Encadrants = tmpEncadrants;
            }

            // Modifier un encadrant
            else if (indicateurChangement == 7)
            {
                Console.WriteLine("Vous avez choisi de modifier un encadrant. \nVoici la liste des encadrants actuels du projet.");
                AfficherListeIntervenants(Encadrants, "Encadrants");
                Console.WriteLine("");

                // Tant que l'utilisateur n'a pas indiqué un numéro d'encadrant valide
                bool errorEncadrant     = false;
                bool doneModifEncadrant = false;
                while (!doneModifEncadrant)
                {
                    if (errorEncadrant)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Indiquez le numéro de l'encadrant à modifier : ");

                    string repEncadrant    = Console.ReadLine();
                    int    indiceEncadrant = Program.TryParseReponse(repEncadrant);

                    if (indiceEncadrant < 0 || indiceEncadrant > Livrables.Length)
                    {
                        errorEncadrant = true;
                    }
                    else
                    {
                        errorEncadrant     = false;
                        doneModifEncadrant = true;
                        Console.WriteLine("\nIndiquez maintenant les informations relatives à l'encadrant.");
                        Encadrants[indiceEncadrant - 1] = Intervenant.CreateIntervenant(new Role("Encadrant"));
                    }
                }
            }

            // Ajouter un reviewer
            else if (indicateurChangement == 8)
            {
                Console.WriteLine("Vous avez choisi d'ajouter un nouveau reviewer. \nVoici la liste des reviewers actuels du projet.\n");
                AfficherListeIntervenants(Reviewers, "Reviewers");
                Console.WriteLine("");

                Intervenant[] tmpReviewers = new Intervenant[Reviewers.Length + 1];

                for (int i = 0; i < Reviewers.Length; i++)
                {
                    tmpReviewers[i] = Reviewers[i];
                }

                tmpReviewers[tmpReviewers.Length - 1] = Intervenant.CreateIntervenant(new Role("Reviewer"));

                Reviewers = tmpReviewers;
            }

            // Modifier un reviewer
            else if (indicateurChangement == 9)
            {
                Console.WriteLine("Vous avez choisi de modifier un reviewer. \nVoici la liste actuelle des reviewer du projet.");
                AfficherListeIntervenants(Reviewers, "Reviewers");
                Console.WriteLine("");

                // Tant que l'utilisateur n'a pas indiqué un numéro de reviewer valide
                bool errorReviewer     = false;
                bool doneModifReviewer = false;
                while (!doneModifReviewer)
                {
                    if (errorReviewer)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Indiquez le numéro du reviewer à modifier : ");

                    string repReviewer    = Console.ReadLine();
                    int    indiceReviewer = Program.TryParseReponse(repReviewer);

                    if (indiceReviewer < 0 || indiceReviewer > Livrables.Length)
                    {
                        errorReviewer = true;
                    }
                    else
                    {
                        errorReviewer     = false;
                        doneModifReviewer = true;
                        Console.WriteLine("\nIndiquez maintenant les informations relatives au reviewer.");
                        Reviewers[indiceReviewer - 1] = Intervenant.CreateIntervenant(new Role("Reviewer"));
                    }
                }
            }

            // Ajouter un élève
            else if (indicateurChangement == 10)
            {
                Console.WriteLine("Vous avez choisi d'ajouter un nouvel élève. \nVoici la liste actuelle des élèves du projet.");
                AfficherListeIntervenants(Eleves, "Eleves");
                Console.WriteLine("");

                Eleve[] tmpEleves = new Eleve[Eleves.Length + 1];

                for (int i = 0; i < Eleves.Length; i++)
                {
                    tmpEleves[i] = Eleves[i];
                }

                Eleve newEleve = Intervenant.CreateIntervenant("eleve") as Eleve;
                tmpEleves[tmpEleves.Length - 1] = newEleve;

                Eleves   = tmpEleves as Eleve[];
                NbEleves = Eleves.Length;

                // Ajout de la promotion de l'élève à la liste de spromotions du projet
                List <string> promotions = new List <string>();
                foreach (string promo in Promotions)
                {
                    promotions.Add(promo);
                }

                if (!promotions.Contains(newEleve.Promotion))
                {
                    promotions.Add(newEleve.Promotion);
                }

                Promotions = promotions.ToArray();
            }

            // Modifier un élève
            else if (indicateurChangement == 11)
            {
                Console.WriteLine("Vous avez choisi de modifier un élève. \nVoici la liste actuelle des élèves du projet.");
                AfficherListeIntervenants(Eleves, "Elèves");
                Console.WriteLine("");

                // Tant que l'utilisateur n'a pas indiqué un numéro de reviewer valide
                bool errorEleves     = false;
                bool doneModifEleves = false;
                while (!doneModifEleves)
                {
                    if (errorEleves)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Indiquez le numéro de l'élève à modifier : ");

                    string repEleve    = Console.ReadLine();
                    int    indiceEleve = Program.TryParseReponse(repEleve);

                    if (indiceEleve < 0 || indiceEleve > Eleves.Length)
                    {
                        errorEleves = true;
                    }
                    else
                    {
                        errorEleves     = false;
                        doneModifEleves = true;
                        Console.WriteLine("\nIndiquez maintenant les informations relatives à l'élève.");
                        Eleves[indiceEleve - 1] = Intervenant.CreateIntervenant("eleve") as Eleve;
                    }
                }
            }

            // Modifier la date de début
            else if (indicateurChangement == 12)
            {
                Console.Write("Vous avez choisi de modifier la date de début de projet. \n\nVoici la date de début actuelle :");
                Console.WriteLine(DateDebut.GetDateFormatee());
                Console.WriteLine("");

                bool doneDateDebut  = false;
                bool errorDateDebut = false;
                while (!doneDateDebut)
                {
                    if (errorDateDebut)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Rentrez votre nouvelle date de début au format DD/MM/YYYY : ");

                    string repDate = Console.ReadLine();
                    if (Date.IsDate(repDate))
                    {
                        DateDebut      = new Date(repDate);
                        errorDateDebut = false;
                        doneDateDebut  = true;
                    }
                    else
                    {
                        errorDateDebut = true;
                    }
                }
            }

            // Modifier la date de fin
            else if (indicateurChangement == 13)
            {
                Console.Write("Vous avez choisi de modifier la date de fin du projet. \n\nVoici la date de fin actuelle :");
                Console.WriteLine(DateFin.GetDateFormatee());
                Console.WriteLine("");

                bool doneDateFin  = false;
                bool errorDateFin = false;
                while (!doneDateFin)
                {
                    if (errorDateFin)
                    {
                        Console.WriteLine("Ce que vous avez rentré est incorrect, recommencez.");
                    }
                    Console.Write("Rentrez votre nouvelle date de fin au format DD/MM/YYYY : ");

                    string repDate = Console.ReadLine();
                    if (Date.IsDate(repDate))
                    {
                        DateFin      = new Date(repDate);
                        errorDateFin = false;
                        doneDateFin  = true;
                    }
                    else
                    {
                        errorDateFin = true;
                    }
                }
            }
        }
Esempio n. 4
0
        //Méthodes

        /*
         * Interface de création d'un intervenant. Cette fonction permet de créer tous les types
         * d'intervenants possibles en demandant à l'utilisateur quel type d'intervenant il veut créer.
         */
        public static Intervenant CreateIntervenant()
        {
            Console.Write("\nLe nom de la personne : ");
            string nom = Console.ReadLine();

            Console.Write("Son Prénom : ");
            string prenom = Console.ReadLine();

            //Sélection spécification de la classe intervenant
            string inputSpec;
            bool   doneSpec = false;

            do
            {
                Console.WriteLine("Cette personne est un");
                Console.WriteLine("Eleve : entrez 1,   Enseignant : entrez 2,  Externe : entrez 3,  Autre : entrez 4");

                Regex regSpec = new Regex("^[1-4]$");
                inputSpec = Console.ReadLine();

                if (regSpec.Match(inputSpec).Success)
                {
                    doneSpec = true;
                }
                else
                {
                    Console.WriteLine("Votre entrée est incorrecte");
                }
            }while (!doneSpec);

            //Création des rôles de l'intervenant
            Console.WriteLine("\nVous allez maintenant rentrer le ou les rôles de cette personne.");
            List <Role> roles = new List <Role>();

            bool doneRole = false;

            do
            {
                if (roles.Count == 0)
                {
                    Console.Write("Indiquez le rôle de cette personne dans ce projet : ");
                }
                else
                {
                    Console.Write("Indiquez un autre rôle ou entrez Y pour quitter : ");
                }

                string roleInput = Console.ReadLine();
                if (roleInput.ToUpper() == "Y")
                {
                    doneRole = true;
                }
                else
                {
                    roles.Add(new Role(roleInput));
                }
            }while (!doneRole);

            //Création de l'intervenant
            if (inputSpec == "1") //élève
            {
                return(Eleve.CreateEleve(nom, prenom, roles.ToArray()));
            }
            else if (inputSpec == "2") //enseignant
            {
                return(Enseignant.CreateEnseignant(nom, prenom, roles.ToArray()));
            }
            else if (inputSpec == "3")//externe
            {
                return(Externe.CreateExterne(nom, prenom, roles.ToArray()));
            }
            else
            {
                return(new Intervenant(nom, prenom, roles.ToArray()));
            }
        }