Beispiel #1
0
        static void Main(string[] args)
        {
            //Catalogue projetsENSC = new Catalogue();

            //Test si Eleve fonctionne bien --> OK
            Eleve Moi = new Eleve("Esquirol", "Juliette", 2022, 2020);

            Console.WriteLine(Moi.ToString());

            //Test si Enseignant fonctionne bien --> OK
            Matiere        ProgAv          = new Matiere("programmation avancée", "42");
            Matiere        Gesp            = new Matiere("GESP", "666");
            List <Matiere> matieresPesquet = new List <Matiere>();

            matieresPesquet.Add(ProgAv);
            matieresPesquet.Add(Gesp);
            Enseignant ProfInfo = new Enseignant("Pesquet", "Baptiste", matieresPesquet);

            Console.WriteLine(ProfInfo.ToString());

            //Test si Exterieur fonctionne bien --> OK
            Exterieur Milo = new Exterieur("Toumine", "Milo", "Cobaye BCI");

            Console.WriteLine(Milo.ToString());

            //Test si la vérif de la matière fonctionne bien --> OK
            Matiere Apero = new Matiere("boire l'apéro", "mdr");

            //Test si Projet fonctionne bien
            List <Intervenant> intervenantsTransdiBCI = new List <Intervenant>();

            intervenantsTransdiBCI.Add(Moi);
            intervenantsTransdiBCI.Add(Milo);

            Livrable        siteWeb             = new Livrable("site web");
            Livrable        analyseExistant     = new Livrable("analyse de l'existant");
            List <Livrable> livrablesTransdiBCI = new List <Livrable>();

            livrablesTransdiBCI.Add(siteWeb);
            livrablesTransdiBCI.Add(analyseExistant);

            Projet Transdi = new Projet(6, false, "01/10/2019", "01/05/2020", "Projet transdisciplinaire sur le BCI", livrablesTransdiBCI, matieresPesquet, intervenantsTransdiBCI);

            Console.WriteLine(Transdi.ToString());

            Console.ReadKey();
        }
        public void CreerIntervenant(List <Intervenant> listeSelectionIntervenants)
        {
            //L'utilisateur entre le nom et le prénom de l'intervenant qu'il souhaite créer
            Console.WriteLine("Création d'un nouvel intervenant");
            Console.Write("Nom : ");
            string nom = Console.ReadLine();

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

            //Avant d'ajouter cet intervenant, on vérifie s'il n'existe pas déjà dans la liste du catalogue
            bool intervExisteDeja = false;

            foreach (Intervenant i in ListeIntervenants)
            {
                if (nom == i.Nom && prenom == i.Prenom)
                {
                    intervExisteDeja = true;
                    break; //Evite de parcourir le catalogue entier si un intervenant du même nom a été trouvé
                }
            }
            if (intervExisteDeja == true)
            {
                Console.WriteLine("Cet intervenant existe déjà !");
            }
            else
            {
                //Si l'intervenant n'existe pas déjà dans la liste,
                //On demande à l'utilisateur d'indiquer qui est cet intervenant (3 choix possibles)
                //L'utilisteur devra ensuite entrer des caractéristiques propres au type d'intervenant sélectionné
                Console.WriteLine("L'intervenant est un : \n 1 - Elève de l'ENSC \n 2 - Enseignant de l'ENSC \n 3 - Extérieur à l'ENSC");

                //Vérification : le numéro entré par l'utilisateur doit correspondre à un choix possible
                int typeIntervenant = Convert.ToInt32(Console.ReadLine());
                while (typeIntervenant < 0 || typeIntervenant > 3)
                {
                    Console.WriteLine("Je n'ai pas compris votre choix. Veuillez rééssayer");
                    typeIntervenant = Convert.ToInt32(Console.ReadLine());
                }

                if (typeIntervenant == 1) //Choix de la promotion pour un élève
                {
                    Console.Write("Promotion de l'élève (4 chiffres) : ");
                    int   promo             = Convert.ToInt32(Console.ReadLine());
                    Eleve nouvelIntervenant = new Eleve(nom, prenom, promo);
                    ListeIntervenants.Add(nouvelIntervenant);
                    listeSelectionIntervenants.Add(ListeIntervenants[ListeIntervenants.IndexOf(nouvelIntervenant)]);
                    Console.WriteLine("\tL'intervenant a bien été ajouté au projet !");
                }
                if (typeIntervenant == 2) //Choix des matières enseignées pour un professeur
                {
                    //Affichage de la liste des matières existantes
                    Console.WriteLine("Voici la liste des matières possibles : ");
                    int k = 1;
                    foreach (Matiere m in ListeMatieres)
                    {
                        Console.WriteLine("{0} - {1}", k, m.ToString());
                        k++;
                    }
                    int choixMatiere = 1;

                    //Sélection des matières
                    List <Matiere> matieresSelectionnees = new List <Matiere> {
                    };
                    while (choixMatiere != 0)
                    {
                        Console.Write("Sélectionnez les matières de cet enseignant (entrez 0 pour finir) : ");
                        choixMatiere = Convert.ToInt32(Console.ReadLine());

                        //Vérification : le numéro entré par l'utilisateur doit correspondre à un choix possible
                        while (choixMatiere < 0 || choixMatiere > k - 1)
                        {
                            Console.WriteLine("Je n'ai pas compris votre choix");
                            Console.Write("Ajouter une matière (entrez 0 pour finir) : ");
                            choixMatiere = Convert.ToInt32(Console.ReadLine());
                        }
                        //Vérification : la matière ne doit pas être ajoutée plusieurs fois
                        if (choixMatiere != 0)
                        {
                            bool matExisteDeja = false;
                            foreach (Matiere m in matieresSelectionnees)
                            {
                                if (ListeMatieres[choixMatiere - 1] == m)
                                {
                                    matExisteDeja = true;
                                }
                            }

                            if (matExisteDeja == true)
                            {
                                Console.WriteLine("La matière a déjà été ajouté");
                            }
                            else
                            {
                                matieresSelectionnees.Add(ListeMatieres[choixMatiere - 1]);
                                Console.WriteLine("\tLa matière a bien été ajoutée");
                            }
                        }
                    }
                    Enseignant nouvelIntervenant = new Enseignant(nom, prenom, matieresSelectionnees);
                    ListeIntervenants.Add(nouvelIntervenant);
                    listeSelectionIntervenants.Add(ListeIntervenants[ListeIntervenants.IndexOf(nouvelIntervenant)]);
                    Console.WriteLine("\tL'intervenant a bien été ajouté au projet !");
                }
                if (typeIntervenant == 3) //Choix du métier pour une personne extérieure à l'ENSC
                {
                    Console.Write("Métier : ");
                    string  Metier            = Console.ReadLine();
                    Externe nouvelIntervenant = new Externe(nom, prenom, Metier);
                    ListeIntervenants.Add(nouvelIntervenant);
                    listeSelectionIntervenants.Add(ListeIntervenants[ListeIntervenants.IndexOf(nouvelIntervenant)]);
                    Console.WriteLine("\tL'intervenant a bien été ajouté au projet !");
                }
            }
        }