Пример #1
0
        public Projet(string nom, string sujet, string sujetLibre, TypeProjet typeProjet, List <int> anneesEtudes, List <Matiere> matieres, AnneeScolaire anneeScolaire,
                      List <Eleve> etudiants, Eleve chefDeProjet, List <Eleve> developpeurs, List <Eleve> maquetteurs, List <Eleve> poleFacteurHumain, Personne client,
                      List <AutreIntervenant> tuteurs, List <Livrable> livrables, DateTime dateDebut, DateTime dateFin, List <string> motsClefs)
        {
            Nom          = nom;
            Sujet        = sujet;
            SujetLibre   = sujetLibre;
            TypeProjet   = typeProjet;
            AnneesEtudes = anneesEtudes;
            Matieres     = matieres;
            List <int> promos = new List <int> {
            };

            foreach (int anneeEtude in anneesEtudes)
            {
                promos.Add(anneeScolaire.AnneeFin + anneeEtude);
            }
            Promos        = promos;
            AnneeScolaire = anneeScolaire;
            int cpt = 0;

            foreach (Eleve etudiant in etudiants)
            {
                cpt++;
            }
            foreach (AutreIntervenant tuteur in tuteurs)
            {
                cpt++;
            }
            if (client != null)
            {
                cpt++;
            }
            NbPersonnesImpliquees = cpt;
            Etudiants             = etudiants;
            ChefDeProjet          = chefDeProjet;
            Developpeurs          = developpeurs;
            Maquetteurs           = maquetteurs;
            PoleFacteurHumain     = poleFacteurHumain;
            Client    = client;
            Tuteurs   = tuteurs;
            Livrables = livrables;
            DateDebut = dateDebut;
            DateFin   = dateFin;
            MotsClefs = motsClefs;
        }
Пример #2
0
        static void Main(string[] args)
        {
            Program program = new Catalogue_ENSC.Program();


            AnneeScolaire cetteAnnee     = new AnneeScolaire("2019-2020", 2019, 2020, program);
            AnneeScolaire annee19        = new AnneeScolaire("2018-2019", 2018, 2019, program);
            AnneeScolaire annee18        = new AnneeScolaire("2017-2018", 2017, 2018, program);
            AnneeScolaire annee17        = new AnneeScolaire("2016-2017", 2016, 2017, program);
            AnneeScolaire annee16        = new AnneeScolaire("2015-2016", 2015, 2016, program);
            AnneeScolaire anneeProchaine = new AnneeScolaire("2020-2021", 2020, 2021, program);

            Eleve iciattoni     = new Eleve("iciattoni", "Ines", "Ciattoni", 2022, false, 0, "elle", program);
            Eleve cbrissaud     = new Eleve("cbrissaud", "Cloe", "Brissaud", 2022, false, 0, "elle", program);
            Eleve llavenseau    = new Eleve("llavenseau", "Louis", "Lavenseau", 2022, false, 0, "il", program);
            Eleve tholstein     = new Eleve("tholstein", "Thomas", "Holstein", 2022, false, 0, "il", program);
            Eleve lthomasson    = new Eleve("lthomasson", "Lucie", "Thomasson", 2022, false, 0, "elle", program);
            Eleve msille        = new Eleve("msille", "Marie", "Sille", 2022, false, 0, "elle", program);
            Eleve jgadeau       = new Eleve("jgadeau", "Juliette", "Gadeau", 2022, false, 0, "elle", program);
            Eleve motheguy      = new Eleve("motheguy", "Marion", "Otheguy", 2022, false, 0, "elle", program);
            Eleve acorbeau      = new Eleve("acorbeau", "Anne", "Corbeau", 2019, false, 0, "elle", program);
            Eleve tmerlin       = new Eleve("tmerlin", "Tom", "Merlin", 2019, false, 0, "il", program);
            Eleve aanne         = new Eleve("aanne", "Arthur", "Anne", 2019, false, 0, "elle", program);
            Eleve gmartin       = new Eleve("gmartin", "Guillaume", "Martin", 2019, false, 0, "il", program);
            Eleve jguyet        = new Eleve("jguyet", "Jean", "Guyet", 2019, false, 0, "il", program);
            Eleve ghute         = new Eleve("ghute", "Guy", "Hute", 2019, false, 0, "il", program);
            Eleve tfaure        = new Eleve("tfaure", "Thomas", "Faure", 2022, false, 0, "il", program);
            Eleve slaur         = new Eleve("slaur", "Simon", "Laur", 2022, false, 0, "il", program);
            Eleve jbriand       = new Eleve("jbriand", "Julien", "Briand", 2022, false, 0, "il", program);
            Eleve nchauvier     = new Eleve("nchauvier", "Nathan", "Chauvier", 2022, false, 0, "il", program);
            Eleve mzuliani      = new Eleve("mzuliani", "Mattheo", "Zuliani", 2022, false, 0, "il", program);
            Eleve tarrachquesne = new Eleve("tarrachquesne", "Thomas", "Arrachquesne", 2022, false, 0, "il", program);
            Eleve mdhellin      = new Eleve("mzuliani", "Mattheo", "Zuliani", 2022, false, 0, "il", program);
            Eleve vleroy        = new Eleve("vleroy", "Victor", "Leroy", 2022, false, 0, "il", program);
            Eleve tconstans     = new Eleve("tconstans", "Thea", "Constans", 2022, false, 0, "il", program);
            Eleve tmorassin     = new Eleve("tmorassin", "Thibault", "Morassin", 2022, false, 0, "il", program);

            Livrable rapport    = new Livrable("rapport", program);
            Livrable produit    = new Livrable("produit", program);
            Livrable codeSource = new Livrable("code source", program);
            Livrable soutenance = new Livrable("soutenance", program);

            AutreIntervenant aroc      = new AutreIntervenant("aroc", "Aline", "Roc", "professeur", "elle", program);
            AutreIntervenant pfavier   = new AutreIntervenant("pfavier", "Pierre-Alexandre", "Favier", "professeur", "il", program);
            AutreIntervenant bprebot   = new AutreIntervenant("bprebot", "Baptiste", "Prebot", "professeur", "il", program);
            AutreIntervenant gkurtag   = new AutreIntervenant("gkurtag", "Gyorgy", "Kurtag", "intervenant externe ", "il", program);
            AutreIntervenant saries    = new AutreIntervenant("saries", "Serge", "Aries", "professeur", "il", program);
            AutreIntervenant bleblanc  = new AutreIntervenant("bleblanc", "Benoit", "Leblanc", "professeur", "il", program);
            AutreIntervenant tletouzet = new AutreIntervenant("tletouzet", "Theodore", "Letouzet", "professeur", "il", program);
            AutreIntervenant bpesquet  = new AutreIntervenant("bpesquet", "Baptiste", "Pesquet", "professeur", "il", program);
            AutreIntervenant eclermont = new AutreIntervenant("eclermont", "Edwige", "Clermont", "professeur", "elle", program);
            AutreIntervenant csemal    = new AutreIntervenant("csemal", "Catherine", "Semal", "professeur", "elle", program);
            AutreIntervenant rgay      = new AutreIntervenant("rgay", "Roland", "Gay", "intervenant externe", "il", program);

            Matiere commweb      = new Matiere("communication_web", "CO6SFCWO", "sciences fondamentales", "C06SFON0", program);
            Matiere introInfo    = new Matiere("introduction_a_l'informatique", "CO6SFPA0", "sciences fondamentales", "C06SFON0", program);
            Matiere transdi      = new Matiere("projet_transdisciplinaire", "CO5PRTD0", "projets", "CO5PRST0", program);
            Matiere ia1          = new Matiere("intelligence_artificielle_1", "CO7SCIA0", "ingenierie cognitique", "C07SCOG0", program);
            Matiere infoIndivi   = new Matiere("projet_informatique_indivuduel", "C0ESFPI0", "sciences fondamtentales", "CO8SFON0", program);
            Matiere systemeCogni = new Matiere("systemes_cognitifs", "C09SYCO0", "systemes cognitifs", "C09SYCO0", program);

            TypeProjet projetCommunicationWeb = new TypeProjet("projet communication web", null, "impose", new List <int> {
                1
            }, new List <Matiere> {
                commweb
            }, new List <AutreIntervenant> {
                aroc, eclermont, bprebot
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2000, 1, 25), new DateTime(2000, 3, 28), new List <string> {
                "site web", "programmation web"
            });
            TypeProjet projetIntroductionALaProgrammation = new TypeProjet("projet introduction a la programmation", "codage du jeu motus", "impose", new List <int> {
                1
            }, new List <Matiere> {
                introInfo
            }, new List <AutreIntervenant> {
                pfavier, eclermont, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2000, 11, 12), new DateTime(2000, 1, 16), new List <string> {
                "motus", "programmation"
            });
            TypeProjet projetIntelligenceArtificielle = new TypeProjet("projet intelligence artificielle", null, "impose", new List <int> {
                2
            }, new List <Matiere> {
                ia1
            }, new List <AutreIntervenant> {
                bpesquet, bprebot
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2000, 10, 29), new DateTime(2000, 12, 22), new List <string> {
                "intelligence artificielle", "programmation"
            });
            TypeProjet projetInformatiqueindividuel = new TypeProjet("projet informatique individuel", null, "libre", new List <int> {
                2
            }, new List <Matiere> {
                infoIndivi
            }, new List <AutreIntervenant> {
                saries, bleblanc, tletouzet, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2000, 1, 9), new DateTime(2000, 1, 9), new List <string> {
                "programmation"
            });
            TypeProjet projetEtudeCerveau = new TypeProjet("projet etude cerveau", null, "impose", new List <int> {
                2
            }, new List <Matiere> {
                systemeCogni
            }, new List <AutreIntervenant> {
                pfavier
            }, new List <Livrable> {
                rapport
            }, new DateTime(2000, 10, 12), new DateTime(2000, 12, 16), new List <string> {
                "cerveau", "cognitif"
            });
            TypeProjet projetTransdi = new TypeProjet("projet transdisciplinaire", null, "liste", new List <int> {
                1
            }, new List <Matiere> {
                transdi
            }, null, new List <Livrable> {
                produit, soutenance
            }, new DateTime(2000, 9, 12), new DateTime(2000, 5, 25), null);


            Projet harryPottest = new Projet("Harrypotest", "création d'un site de quizz", "impose", projetCommunicationWeb, new List <int> {
                1
            }, new List <Matiere> {
                commweb
            }, cetteAnnee, new List <Eleve> {
                cbrissaud, iciattoni
            }, null, new List <Eleve> {
                cbrissaud, iciattoni
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                aroc, eclermont, bprebot
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2020, 1, 25), new DateTime(2020, 3, 28), new List <string> {
                "site web", "programmation web", "harry potter"
            });
            Projet motusLavenseauHolstein = new Projet("Motus Lavenseau et Holstein", "Codage du jeu Motus", "impose", projetIntroductionALaProgrammation, new List <int> {
                1
            }, new List <Matiere> {
                introInfo
            }, cetteAnnee, new List <Eleve> {
                llavenseau, tholstein
            }, null, new List <Eleve> {
                llavenseau, tholstein
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                pfavier, eclermont, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2019, 11, 12), new DateTime(2020, 1, 16), new List <string> {
                "programmation", "motus", "jeu"
            });
            Projet motusBrissaudFaure = new Projet("Motus Brissaud et Faure", "Codage du jeu Motus", "impose", projetIntroductionALaProgrammation, new List <int> {
                1
            }, new List <Matiere> {
                introInfo
            }, cetteAnnee, new List <Eleve> {
                cbrissaud, tfaure
            }, null, new List <Eleve> {
                cbrissaud, tfaure
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                pfavier, eclermont, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2019, 11, 12), new DateTime(2020, 1, 16), new List <string> {
                "programmation", "motus", "jeu"
            });
            Projet motusLaurBriand = new Projet("Motus Briand et Laur", "Codage du jeu Motus", "impose", projetIntroductionALaProgrammation, new List <int> {
                1
            }, new List <Matiere> {
                introInfo
            }, cetteAnnee, new List <Eleve> {
                jbriand, slaur
            }, null, new List <Eleve> {
                jbriand, slaur
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                pfavier, eclermont, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2019, 11, 12), new DateTime(2020, 1, 16), new List <string> {
                "programmation", "motus", "jeu"
            });
            Projet motusChauvierZuliani = new Projet("Motus Chauvier et Zuliani", "Codage du jeu Motus", "impose", projetIntroductionALaProgrammation, new List <int> {
                1
            }, new List <Matiere> {
                introInfo
            }, cetteAnnee, new List <Eleve> {
                nchauvier, mzuliani
            }, null, new List <Eleve> {
                nchauvier, mzuliani
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                pfavier, eclermont, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2019, 11, 12), new DateTime(2020, 1, 16), new List <string> {
                "programmation", "motus", "jeu"
            });
            Projet blackout = new Projet("Blackout", "évaluation UX et amélioration d'un serious game", "liste", projetTransdi, new List <int> {
                1
            }, new List <Matiere> {
                transdi
            }, cetteAnnee, new List <Eleve> {
                cbrissaud, lthomasson, msille, jgadeau, motheguy
            }, cbrissaud, new List <Eleve> {
                lthomasson, motheguy
            }, new List <Eleve> {
                msille, jgadeau
            }, new List <Eleve> {
                cbrissaud, msille, jgadeau
            }, gkurtag, new List <AutreIntervenant> {
                csemal
            }, new List <Livrable> {
                soutenance, produit
            }, new DateTime(2019, 9, 12), new DateTime(2020, 5, 25), new List <string> {
                "UX design", "serious game"
            });
            Projet galaxieux = new Projet("Galax'ieux", "développement d'un outil de reconnaissance de cartes/synthèse vocale pour malvoyants", "liste", projetTransdi, new List <int> {
                1
            }, new List <Matiere> {
                transdi
            }, cetteAnnee, new List <Eleve> {
                llavenseau, tconstans, tmorassin, vleroy, mdhellin, tconstans, tarrachquesne
            }, tconstans, new List <Eleve> {
                llavenseau, vleroy, mdhellin, tarrachquesne
            }, null, new List <Eleve> {
                tconstans, tmorassin
            }, rgay, new List <AutreIntervenant> {
                csemal
            }, new List <Livrable> {
                soutenance, produit
            }, new DateTime(2019, 9, 12), new DateTime(2020, 5, 25), new List <string> {
                "UX design", "serious game"
            });
            Projet taquin = new Projet("Taquin", "développement d'un jeu de taquin", "impose", projetIntelligenceArtificielle, new List <int> {
                2
            }, new List <Matiere> {
                ia1
            }, annee18, new List <Eleve> {
                acorbeau, tmerlin
            }, null, new List <Eleve> {
                acorbeau, tmerlin
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                bpesquet, bprebot
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2017, 10, 29), new DateTime(2018, 12, 22), new List <string> {
                "programmation", "IA"
            });
            Projet rainbow = new Projet("Rainbow", "développement d'un jeu de plateau", "libre", projetInformatiqueindividuel, new List <int> {
                2
            }, new List <Matiere> {
                infoIndivi
            }, annee18, new List <Eleve> {
                aanne, gmartin
            }, null, new List <Eleve> {
                aanne, gmartin
            }, new List <Eleve> {
            }, new List <Eleve> {
            }, null, new List <AutreIntervenant> {
                saries, bleblanc, tletouzet, bpesquet
            }, new List <Livrable> {
                rapport, produit, codeSource
            }, new DateTime(2018, 1, 9), new DateTime(2018, 4, 15), new List <string> {
                "programmation", "individuel"
            });
            Projet cerveauGuyHute = new Projet("Etude du cerveau Guyet et Hute", "Etude du cerveau", "impose", projetEtudeCerveau, new List <int> {
                3
            }, new List <Matiere> {
                systemeCogni
            }, annee19, new List <Eleve> {
                jguyet, ghute
            }, null, new List <Eleve> {
            }, new List <Eleve> {
            }, new List <Eleve> {
                jguyet, ghute
            }, null, new List <AutreIntervenant> {
                pfavier
            }, new List <Livrable> {
                rapport
            }, new DateTime(2018, 10, 12), new DateTime(2018, 12, 16), new List <string> {
                "cognitif", "cerveau"
            });


            Repertoire repertoire =
                new Repertoire(new List <Projet> {
                harryPottest, motusLavenseauHolstein, motusBrissaudFaure, motusChauvierZuliani, motusLaurBriand, blackout, galaxieux, taquin, rainbow, cerveauGuyHute
            },
                               new List <TypeProjet> {
                projetCommunicationWeb, projetIntroductionALaProgrammation, projetIntelligenceArtificielle, projetInformatiqueindividuel, projetEtudeCerveau, projetTransdi
            },
                               new List <Matiere> {
                commweb, introInfo, transdi, ia1, infoIndivi, systemeCogni
            },
                               new List <Eleve> {
                llavenseau, cbrissaud, iciattoni, tholstein, lthomasson, msille, jgadeau, motheguy, acorbeau, tmerlin, aanne, gmartin, jguyet, ghute, tfaure, slaur, jbriand, nchauvier, mzuliani, tarrachquesne, mdhellin, vleroy, tconstans, tmorassin
            },
                               new List <AutreIntervenant> {
                bpesquet, eclermont, csemal, aroc, pfavier, bprebot, gkurtag, saries, bleblanc, tletouzet, rgay
            },
                               new List <AnneeScolaire> {
                annee16, annee17, annee18, annee19, cetteAnnee, anneeProchaine
            },
                               new List <Livrable> {
                soutenance, produit, rapport, codeSource
            },
                               new List <string> {
                "site web", "programmation", "motus", "intelligence artificielle", "cerveau", "cognitif", "programmation web", "harry potter", "motus", "jeu", "UX design", "serious game", "IA", "individuel"
            },
                               new List <int> {
                2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022
            },
                               new List <int> {
                1, 2, 3
            },
                               new List <string> {
                "libre", "liste", "impose"
            });

            Sauvegarde sauvegarde = new Sauvegarde(repertoire, program);
            ModificationUtilisateur modificationUtilisateur = new ModificationUtilisateur(repertoire, program, sauvegarde);
            RechercheUtilisateur    rechercheUtilisateur    = new RechercheUtilisateur(repertoire);


            /*  sauvegarde.RecupFichierTxtAnneesScolaires();
             * sauvegarde.RecupFichierTxtLivrables();
             * sauvegarde.RecupFichierTxtMatieres();
             *  sauvegarde.RecupFichierTxtAutresIntervenants();
             * sauvegarde.RecupFichierTxtEleves();
             *  sauvegarde.RecupFichierTxtTypesProjets();
             * sauvegarde.RecupFichierTxtProjets();
             *
             *
             *
             * foreach (Projet m in repertoire.RepertoireProjets)
             * {
             *     Console.WriteLine("yo" + m);
             * }
             *
             * Console.ReadLine();*/

            string fonctionnaliteVoulue = null;

            while (fonctionnaliteVoulue != "")
            {
                Console.Clear();
                Console.WriteLine("Voulez-vous consulter le catalogue des projets de l'ENSC (écrivez 1), ajouter un élément au catalogue (écrivez 2) ?, \n "
                                  + "modifier un élément du catalogue (écrivez 3) ? Supprimer un élément du catalogue (écrivez 4) ? Ou quitter \n l'application ? (tapez juste entrée)");
                fonctionnaliteVoulue = Console.ReadLine();
                Console.Clear();

                if (fonctionnaliteVoulue == "1")
                {
                    rechercheUtilisateur.InitialiserConsultation();
                }

                if (fonctionnaliteVoulue == "2")
                {
                    modificationUtilisateur.InitialiserCreation();


                    Console.ReadKey();
                }

                if (fonctionnaliteVoulue == "3")
                {
                    Console.WriteLine("Quel est le type de l'élément que vous voulez modifier ? Ecrivez projet, type de projet, élève, professeur, externe, \n année scolaire, matière, ou livrable");
                    string typeElementAModifier = Console.ReadLine();
                    Console.Clear();

                    if (typeElementAModifier == "élève")
                    {
                        Console.WriteLine("Les données de quel élève voulez-vous modifier ?");
                        string stringEleve = program.EnleverLesEspaces(Console.ReadLine());
                        Console.Clear();
                        Eleve eleve = (Eleve)Convert.ChangeType(repertoire["eleve", stringEleve], typeof(Eleve));
                        Console.WriteLine("Quelle donnée voulez-vous modifier ? Ecrivez nom, prénom, promo, redoublement, pronom");
                        string attribut = program.EnleverLesEspaces(Console.ReadLine());
                        Console.Clear();
                        Console.WriteLine("Et quelle nouvelle valeur voulez-vous rentrer ?");
                        string valeur = program.EnleverLesEspaces(Console.ReadLine());
                        Console.Clear();
                        eleve.ModifierAttribut(attribut, valeur);
                    }



                    Console.ReadKey();
                }

                if (fonctionnaliteVoulue == "4")
                {
                    Console.WriteLine("Quel est le type de l'élément que vous voulez supprimer ? Ecrivez projet, type de projet, élève, professeur, externe, \n année d'étude, matière, ou livrable");
                    string typeElementASupprimer = Console.ReadLine();
                    Console.Clear();
                    Console.WriteLine("Quel est le nom de l'élément que vous voulez supprimer ?");
                    string nomElementASupprimer = Console.ReadLine();
                    if (typeElementASupprimer == "projet")
                    {
                        Projet projetTest = (Projet)Convert.ChangeType(repertoire["projet", nomElementASupprimer], typeof(Projet));
                        projetTest.Supprimer();
                    }
                    if (typeElementASupprimer == "projet")
                    {
                        Projet projetTest = (Projet)Convert.ChangeType(repertoire["projet", nomElementASupprimer], typeof(Projet));
                        projetTest.Supprimer();
                    }
                    if (typeElementASupprimer == "élève")
                    {
                        Eleve eleveTest = (Eleve)Convert.ChangeType(repertoire["eleve", nomElementASupprimer], typeof(Eleve));
                        eleveTest.Supprimer();
                    }
                    if (typeElementASupprimer == "professeur" || typeElementASupprimer == "intervenant externe")
                    {
                        AutreIntervenant autreIntervenantTest = (AutreIntervenant)Convert.ChangeType(repertoire["autreIntervenant", nomElementASupprimer], typeof(AutreIntervenant));
                        autreIntervenantTest.Supprimer();
                    }
                    if (typeElementASupprimer == "année scolaire")
                    {
                        AnneeScolaire anneeScolaireTest = (AnneeScolaire)Convert.ChangeType(repertoire["anneeScolaire", nomElementASupprimer], typeof(AnneeScolaire));
                        anneeScolaireTest.Supprimer();
                    }
                    if (typeElementASupprimer == "livrable")
                    {
                        Livrable livrableTest = (Livrable)Convert.ChangeType(repertoire["livrable", nomElementASupprimer], typeof(Livrable));
                        livrableTest.Supprimer();
                    }
                    if (typeElementASupprimer == "matiere")
                    {
                        Matiere matiereTest = (Matiere)Convert.ChangeType(repertoire["matiere", nomElementASupprimer], typeof(Matiere));
                        matiereTest.Supprimer();
                    }
                    Console.Clear();
                    Console.WriteLine("La suppression a été réalisée avec succès !");
                    Console.ReadLine();
                }
            }
        }
Пример #3
0
        public void RecupFichierTxtProjets()
        {
            // Création d'une instance de StreamReader pour permettre la lecture de notre fichier source
            System.Text.Encoding encoding        = System.Text.Encoding.GetEncoding("iso-8859-1");
            StreamReader         monStreamReader = new StreamReader("Projets.txt", encoding);

            int    nbMots = 0;
            string mot = "";
            int    ratio = 18;
            string nom = "";
            string sujet = "";
            string sujetLibre = "";
            string stringTypeProjet = ""; TypeProjet typeProjet = new TypeProjet();
            string stringAnneesEtudes = ""; List <string> listStringAnneesEtudes; List <int> anneesEtudes = new List <int> {
            };
            string stringMatieres = ""; List <string> listStringMatieres; List <Matiere> matieres = new List <Matiere> {
            };
            string stringAnneeScolaire = ""; AnneeScolaire anneeScolaire = new AnneeScolaire();
            string stringEtudiants = ""; List <string> listStringEtudiants; List <Eleve> etudiants = new List <Eleve> {
            };
            string stringChefDeProjet = ""; bool stringChefDeProjetRempli; Eleve chefDeProjet = new Eleve();
            string stringDeveloppeurs = ""; bool stringDeveloppeursRempli; List <string> listStringDeveloppeurs; List <Eleve> developpeurs = new List <Eleve> {
            };
            string stringMaquetteurs = ""; bool stringMaquetteursRempli; List <string> listStringMaquetteurs; List <Eleve> maquetteurs = new List <Eleve> {
            };
            string stringPoleFacteurHumain = ""; bool stringPoleFacteurHumainRempli; List <string> listStringPoleFacteurHumain; List <Eleve> poleFacteurHumain = new List <Eleve> {
            };
            string stringClient = ""; bool stringClientRempli; Personne client = new Personne();
            string stringTuteurs = ""; bool stringTuteursRempli; List <string> listStringTuteurs; List <AutreIntervenant> tuteurs = new List <AutreIntervenant> {
            };
            string stringLivrables = ""; List <string> listStringLivrables; List <Livrable> livrables = new List <Livrable> {
            };
            string stringDateDebut = ""; List <string> listStringDateDebut; DateTime dateDebut = new DateTime();
            string stringDateFin = ""; List <string> listStringDateFin; DateTime dateFin = new DateTime();
            string stringMotsClefs = ""; List <string> motsClefs;

            // Lecture de tous les mots du fichier (un par lignes)
            while (mot != null)
            {
                nbMots++;
                mot = monStreamReader.ReadLine();

                if (nbMots % ratio == 1)              // Récupération du nom
                {
                    nom = mot;
                }

                if (nbMots % ratio == 2)              // Récupération du sujet
                {
                    sujet = mot;
                }

                if (nbMots % ratio == 3)             // Récupération de la liberté du sujet
                {
                    sujetLibre = mot;
                }


                if (nbMots % ratio == 4)            // Récupération du type de projet
                {
                    stringTypeProjet = mot;
                    typeProjet       = (TypeProjet)Convert.ChangeType(Repertoire["typeProjet", stringTypeProjet], typeof(TypeProjet));
                }

                if (nbMots % ratio == 5)              // Récupération des années d'étude
                {
                    stringAnneesEtudes     = mot;
                    listStringAnneesEtudes = Program.SeparerChaineDeCaracteres(stringAnneesEtudes);
                    anneesEtudes           = new List <int> {
                    };
                    foreach (string stringAnneeEtude in listStringAnneesEtudes)
                    {
                        anneesEtudes.Add(int.Parse(stringAnneeEtude));
                    }
                }

                if (nbMots % ratio == 6)              // Récupération des matières
                {
                    stringMatieres     = mot;
                    matieres           = new List <Matiere> {
                    };
                    listStringMatieres = Program.SeparerChaineDeCaracteres(stringMatieres);
                    foreach (string stringMatiere in listStringMatieres)
                    {
                        matieres.Add((Matiere)Convert.ChangeType(Repertoire["matiere", stringMatiere], typeof(Matiere)));
                    }
                }
                if (nbMots % ratio == 7)              // Récupération de l'année scolaire
                {
                    stringAnneeScolaire = mot;
                    anneeScolaire       = (AnneeScolaire)Convert.ChangeType(Repertoire["anneeScolaire", stringAnneeScolaire], typeof(AnneeScolaire));
                }

                if (nbMots % ratio == 8)              // Récupération des étudiants
                {
                    stringEtudiants     = mot;
                    etudiants           = new List <Eleve>();
                    listStringEtudiants = Program.SeparerChaineDeCaracteres(stringEtudiants);
                    foreach (string etudiant in listStringEtudiants)
                    {
                        etudiants.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiant], typeof(Eleve)));
                    }
                }

                if (nbMots % ratio == 9)              // Récupération du chef de projet
                {
                    stringChefDeProjet       = mot;
                    stringChefDeProjetRempli = Program.VerifierChampRempli(stringChefDeProjet);
                    if (stringChefDeProjetRempli)
                    {
                        chefDeProjet = (Eleve)Convert.ChangeType(Repertoire["eleve", stringChefDeProjet], typeof(Eleve));
                    }
                }
                if (nbMots % ratio == 10)              // Récupération des développeurs
                {
                    stringDeveloppeurs       = mot;
                    developpeurs             = new List <Eleve>();
                    stringDeveloppeursRempli = Program.VerifierChampRempli(stringDeveloppeurs);
                    if (stringDeveloppeursRempli)
                    {
                        listStringDeveloppeurs = Program.SeparerChaineDeCaracteres(stringDeveloppeurs);
                        foreach (string stringDeveloppeur in listStringDeveloppeurs)
                        {
                            developpeurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringDeveloppeur], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 11)              // Récupération des maquetteurs
                {
                    stringMaquetteurs       = mot;
                    maquetteurs             = new List <Eleve>();
                    stringMaquetteursRempli = Program.VerifierChampRempli(stringMaquetteurs);
                    if (stringMaquetteursRempli)
                    {
                        listStringMaquetteurs = Program.SeparerChaineDeCaracteres(stringMaquetteurs);
                        foreach (string stringMaquetteur in listStringMaquetteurs)
                        {
                            maquetteurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringMaquetteur], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 12)              // Récupération du pôle facteur humain
                {
                    stringPoleFacteurHumain       = mot;
                    poleFacteurHumain             = new List <Eleve>();
                    stringPoleFacteurHumainRempli = Program.VerifierChampRempli(stringPoleFacteurHumain);
                    if (stringPoleFacteurHumainRempli)
                    {
                        listStringPoleFacteurHumain = Program.SeparerChaineDeCaracteres(stringPoleFacteurHumain);
                        foreach (string etudiantPoleFacteurHumain in listStringPoleFacteurHumain)
                        {
                            poleFacteurHumain.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiantPoleFacteurHumain], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 13)              // Récupération du client
                {
                    stringClient       = mot;
                    stringClientRempli = Program.VerifierChampRempli(stringClient);
                    if (stringClientRempli)
                    {
                        client = (AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", stringClient], typeof(AutreIntervenant));
                        if (client == null)
                        {
                            client = (Eleve)Convert.ChangeType(Repertoire["eleve", stringClient], typeof(Eleve));
                        }
                    }
                }
                if (nbMots % ratio == 14)              // Récupération des tuteurs
                {
                    stringTuteurs       = mot;
                    tuteurs             = new List <AutreIntervenant>();
                    stringTuteursRempli = Program.VerifierChampRempli(stringTuteurs);
                    if (stringTuteursRempli)
                    {
                        listStringTuteurs = Program.SeparerChaineDeCaracteres(stringTuteurs);
                        foreach (string tuteur in listStringTuteurs)
                        {
                            tuteurs.Add((AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", tuteur], typeof(AutreIntervenant)));
                        }
                    }
                }
                if (nbMots % ratio == 15)              // Récupération des livrables
                {
                    stringLivrables     = mot;
                    livrables           = new List <Livrable>();
                    listStringLivrables = Program.SeparerChaineDeCaracteres(stringLivrables);
                    foreach (string livrable in listStringLivrables)
                    {
                        livrables.Add((Livrable)Convert.ChangeType(Repertoire["livrable", livrable], typeof(Livrable)));
                    }
                }
                if (nbMots % ratio == 16)              // Récupération de la date de début
                {
                    stringDateDebut     = mot;
                    listStringDateDebut = Program.SeparerChaineDeCaracteres(stringDateDebut);
                    int moisDebut  = int.Parse(listStringDateDebut[1]);
                    int jourDebut  = int.Parse(listStringDateDebut[2]);
                    int anneeDebut = int.Parse(listStringDateDebut[0]);
                    dateDebut = new DateTime(moisDebut, jourDebut, anneeDebut);
                }
                if (nbMots % ratio == 17)              // Récupération de la date de fin
                {
                    stringDateFin     = mot;
                    listStringDateFin = Program.SeparerChaineDeCaracteres(stringDateFin);
                    int moisFin  = int.Parse(listStringDateFin[1]);
                    int jourFin  = int.Parse(listStringDateFin[2]);
                    int anneeFin = int.Parse(listStringDateFin[0]);
                    dateFin = new DateTime(moisFin, jourFin, anneeFin);
                }
                if (nbMots % ratio == 0)              // Récupération des mots-clefs
                {
                    stringMotsClefs = mot;
                    motsClefs       = Program.SeparerChaineDeCaracteres(stringMotsClefs);

                    Repertoire.RepertoireProjets.Add(new Projet(nom, sujet, sujetLibre, typeProjet, anneesEtudes, matieres, anneeScolaire, etudiants, chefDeProjet,
                                                                developpeurs, maquetteurs, poleFacteurHumain, client, tuteurs, livrables, dateDebut, dateFin, motsClefs));
                }
            }
            // Fermeture du StreamReader (attention très important)
            monStreamReader.Close();
        }
Пример #4
0
        public void CreerProjet()
        {   //initialisation du booleen qui vérifie que ce que rentre l'utilisateur convient
            bool erreurSurvenue = false;

            //On récupère le type du projet
            Console.WriteLine("Quel est le type du projet ?");
            string     stringTypeProjet = Program.EnleverLesEspaces(Console.ReadLine());
            TypeProjet typeProjet       = (TypeProjet)Convert.ChangeType(Repertoire["typeProjet", stringTypeProjet], typeof(TypeProjet));

            //On récupère le nom du projet
            Console.WriteLine("Quel est le nom du projet ?");
            string nom = Program.EnleverLesEspaces(Console.ReadLine());

            //On récupère le sujet du projet
            string sujet = "";

            if (typeProjet.Sujet == null)
            {
                Console.WriteLine("Quel est le sujet du projet ?");
                sujet = Program.EnleverLesEspaces(Console.ReadLine());
            }
            else
            {
                sujet = typeProjet.Sujet;
            }

            //On récupère l'information de à quel point le sujet est imposé
            string sujetLibre = null;

            if (typeProjet.SujetLibre == null)
            {
                Console.WriteLine("Le sujet du projet est-il imposé (écrivez \"impose\") ? libre parmi une liste de sujets imposée (écrivez \"liste\") ? ou libre (écrivez \"libre\") ?");
                sujetLibre = Program.EnleverLesEspaces(Console.ReadLine());
            }
            else
            {
                sujetLibre = typeProjet.SujetLibre;
            }

            erreurSurvenue = false;

            List <int> anneesEtudes   = new List <int> {
            };
            string stringAnneesEtudes = "";

            //On récupère les annees d'etude du projet
            if (typeProjet.AnneesEtudes == null)
            {
                while (erreurSurvenue == true)
                {
                    Console.WriteLine("Le projet a-t-il été réalisé par des étudiants en première année (écrivez \"1\"), 2ème année (écrivez \"2\"), ou 3ème année (écrivez \"3\") ? " +
                                      "Séparez par une virgule (ajout d'un espace optionnel) les nombres si des étudiants d'années différentes sont concernés)");
                    stringAnneesEtudes = Program.EnleverLesEspaces(Console.ReadLine());
                    List <string> listStringAnneesEtudes = Program.SeparerChaineDeCaracteres(stringAnneesEtudes);
                    foreach (string stringAnneeEtude in listStringAnneesEtudes)
                    {
                        if (stringAnneeEtude == "1" || stringAnneeEtude == "2" || stringAnneeEtude == "3")
                        {
                            anneesEtudes.Add(int.Parse(stringAnneeEtude));
                        }
                        else
                        {
                            erreurSurvenue = true;
                            Console.WriteLine("Vous avez mal rentré une ou plusieurs des années d'étude");
                        }
                    }
                }
            }

            else
            {
                anneesEtudes = typeProjet.AnneesEtudes;
                bool premierMotPasse = false;
                foreach (int anneeEtude in anneesEtudes)
                {
                    if (premierMotPasse)
                    {
                        stringAnneesEtudes += ", " + anneeEtude.ToString();
                    }
                    else
                    {
                        stringAnneesEtudes += anneeEtude.ToString();
                        premierMotPasse     = true;
                    }
                }
            }

            erreurSurvenue = false;

            //On récupère les matieres du projet
            List <Matiere> matieres = new List <Matiere> {
            };
            string stringMatieres   = "";

            if (typeProjet.Matieres == null)
            {
                Console.WriteLine("Quelles sont la/les matière(s) du projet ? (Rentrez soit le nom de la matière comme orthographiée sur moodle, soit son code)");
                stringMatieres = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringMatieres = Program.SeparerChaineDeCaracteres(stringMatieres);
                foreach (string stringMatiere in listStringMatieres)
                {
                    matieres.Add((Matiere)Convert.ChangeType(Repertoire["matiere", stringMatiere], typeof(Matiere)));
                }
            }
            else
            {
                matieres = typeProjet.Matieres;
                bool premierMotPasse = false;
                foreach (Matiere matiere in matieres)
                {
                    string stringMatiere = matiere.Code;
                    if (premierMotPasse)
                    {
                        stringMatieres += ", " + stringMatiere;
                    }
                    else
                    {
                        stringMatieres += stringMatiere;
                        premierMotPasse = true;
                    }
                }
            }

            //On récupère les promos du projet

            /*List<int> promos = new List<int> { };
             * Console.WriteLine("Quelles sont la/les promo(s) des étudiants qui ont réalisé ce projet ? (Ex : 2020, 2021))");
             * List<string> stringPromos = Program.SeparerChaineDeCaracteres(Console.ReadLine());
             * foreach (string stringPromo in stringPromos)
             * {
             *  promos.Add(int.Parse(stringPromo));
             * }*/

            //On récupère l'année de scolarité du projet
            Console.WriteLine("Pendant quelle année scolaire a été réalisé ce projet ? (Ecrivez par exemple : 2019-2020)");
            string        stringAnneeScolaire = Console.ReadLine();
            AnneeScolaire anneeScolaire       = (AnneeScolaire)Convert.ChangeType(Repertoire["anneeScolaire", stringAnneeScolaire], typeof(AnneeScolaire));


            //On récupère le nombre d'étudiants qui ont travaillé sur ce projet

            /* int nbPersonnesImpliquees = 0;
             * if (typeProjet.NbPersonnesImpliquees == 0)
             * {
             *   Console.WriteLine("Combien d'étudiants ont travaillé sur ce projet ?");
             *   nbPersonnesImpliquees = int.Parse(Console.ReadLine());
             * }
             * else
             * {
             *   nbPersonnesImpliquees = typeProjet.NbPersonnesImpliquees;
             * }*/

            //On récupère le nom des étudiants qui ont travaillé sur ce projet
            List <Eleve> etudiants = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des étudiants qui ont travaillé sur ce projet ? (écrivez le prénom puis le nom ou le code formé" +
                              "de la première lettre du prénom et du nom de famille");
            string        stringEtudiants     = Program.EnleverLesEspaces(Console.ReadLine());
            List <string> listStringEtudiants = Program.SeparerChaineDeCaracteres(stringEtudiants);

            foreach (string etudiant in listStringEtudiants)
            {
                etudiants.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiant], typeof(Eleve)));
            }

            //On récupère le nom du chef de projet s'il y en a un
            Eleve chefDeProjet = null;

            Console.WriteLine("Quel est le nom du chef de projet ? (s'il y en a un)");
            string stringChefDeProjet       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringChefDeProjetRempli = Program.VerifierChampRempli(stringChefDeProjet);

            if (stringChefDeProjetRempli)
            {
                chefDeProjet = (Eleve)Convert.ChangeType(Repertoire["eleve", stringChefDeProjet], typeof(Eleve));
            }


            //On récupère les développeurs du projet s'il y en a
            List <Eleve> developpeurs = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des développeurs du projet ? (s'il y en a)");
            string stringDeveloppeurs       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringDeveloppeursRempli = Program.VerifierChampRempli(stringDeveloppeurs);

            if (stringDeveloppeursRempli)
            {
                List <string> listStringDeveloppeurs = Program.SeparerChaineDeCaracteres(stringDeveloppeurs);
                foreach (string stringDeveloppeur in listStringDeveloppeurs)
                {
                    developpeurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringDeveloppeur], typeof(Eleve)));
                }
            }


            //On récupère les maquetteurs du projet s'il y en a
            List <Eleve> maquetteurs = new List <Eleve> {
            };

            Console.WriteLine("Qui sont les noms des maquetteurs du projet ? (s'il y en a)");
            string stringMaquetteurs       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringMaquetteursRempli = Program.VerifierChampRempli(stringMaquetteurs);

            if (stringMaquetteursRempli)
            {
                List <string> listStringMaquetteurs = Program.SeparerChaineDeCaracteres(stringMaquetteurs);
                foreach (string stringMaquetteur in listStringMaquetteurs)
                {
                    maquetteurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringMaquetteur], typeof(Eleve)));
                }
            }


            //On récupère le pole facteur humain du projet s'il y en a
            List <Eleve> poleFacteurHumain = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des étudiants qui ont travaillé dans le pôle Facteur Humain du projet ? (s'il y en a)");
            string stringPoleFacteurHumain       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringPoleFacteurHumainRempli = Program.VerifierChampRempli(stringPoleFacteurHumain);

            if (stringPoleFacteurHumainRempli)
            {
                List <string> listStringPoleFacteurHumain = Program.SeparerChaineDeCaracteres(stringPoleFacteurHumain);
                foreach (string etudiantPoleFacteurHumain in listStringPoleFacteurHumain)
                {
                    poleFacteurHumain.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiantPoleFacteurHumain], typeof(Eleve)));
                }
            }

            //On récupère le nom du client
            Personne client = null;

            Console.WriteLine("Quel est le nom du client du projet ? (s'il y en a un)");
            string stringClient       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringClientRempli = Program.VerifierChampRempli(stringClient);

            if (stringClientRempli)
            {
                client = (AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", stringClient], typeof(AutreIntervenant));
                if (client == null)
                {
                    client = (Eleve)Convert.ChangeType(Repertoire["eleve", stringClient], typeof(Eleve));
                }
            }

            //On récupère le nom des tuteurs
            List <AutreIntervenant> tuteurs = new List <AutreIntervenant> {
            };
            string stringTuteurs            = "";

            if (typeProjet.Tuteurs == null)
            {
                Console.WriteLine("Quels sont les noms des tuteurs ? (dans le cas d'un projet intramatière, les tuteurs pourront être les professeurs encadrant le projet)");
                stringTuteurs = Program.EnleverLesEspaces(Console.ReadLine());
                bool stringTuteursRempli = Program.VerifierChampRempli(stringTuteurs);
                if (stringTuteursRempli)
                {
                    List <string> listStringTuteurs = Program.SeparerChaineDeCaracteres(stringTuteurs);
                    foreach (string tuteur in listStringTuteurs)
                    {
                        tuteurs.Add((AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", tuteur], typeof(AutreIntervenant)));
                    }
                }
            }
            else
            {
                tuteurs = typeProjet.Tuteurs;
                bool premierMotPasse = false;
                foreach (AutreIntervenant tuteur in tuteurs)
                {
                    string stringTuteur = tuteur.Identifiant;
                    if (premierMotPasse)
                    {
                        stringTuteurs += ", " + stringTuteur;
                    }
                    else
                    {
                        stringTuteurs  += stringTuteur;
                        premierMotPasse = true;
                    }
                }
            }

            //On récupère les livrables
            List <Livrable> livrables = new List <Livrable> {
            };
            string stringLivrables    = "";

            if (typeProjet.Livrables == null)
            {
                Console.WriteLine("Quels sont les livrables attendus pour le projet ?");
                stringLivrables = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringLivrables = Program.SeparerChaineDeCaracteres(stringLivrables);
                foreach (string livrable in listStringLivrables)
                {
                    livrables.Add((Livrable)Convert.ChangeType(Repertoire["livrable", livrable], typeof(Livrable)));
                }
            }
            else
            {
                livrables = typeProjet.Livrables;
                bool premierMotPasse = false;
                foreach (Livrable livrable in livrables)
                {
                    string stringLivrable = livrable.Nom;
                    if (premierMotPasse)
                    {
                        stringLivrables += ", " + stringLivrable;
                    }
                    else
                    {
                        stringLivrables += stringLivrable;
                        premierMotPasse  = true;
                    }
                }
            }

            //On récupère la date de début du projet
            DateTime dateDebut       = new DateTime(2000, 1, 1);
            string   stringDateDebut = "";

            if (typeProjet.DateDebut.Year < 2001)
            {
                Console.WriteLine("Quelle est la date de début du projet ? (écrivez sous la forme \"jour,mois,année\" en chiffres (4 chiffres pour l'année). Exemple pour le 3 février 2019 : \"3,2,2019\"");
                stringDateDebut = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringDateDebut = Program.SeparerChaineDeCaracteres(stringDateDebut);
                int           moisDebut           = int.Parse(listStringDateDebut[1]);
                int           jourDebut           = int.Parse(listStringDateDebut[0]);
                int           anneeDebut          = int.Parse(listStringDateDebut[2]);
                dateDebut = new DateTime(anneeDebut, moisDebut, jourDebut);
            }
            else
            {
                dateDebut = typeProjet.DateDebut;
                string jourDebut  = dateDebut.Day.ToString();
                string moisDebut  = dateDebut.Month.ToString();
                string anneeDebut = dateDebut.Year.ToString();
                stringDateDebut = jourDebut + ", " + moisDebut + ", " + anneeDebut;
            }

            //On récupère la date de fin du projet
            DateTime dateFin       = new DateTime(2000, 1, 1);
            string   stringDateFin = "";

            if (typeProjet.DateFin.Year < 2001)
            {
                Console.WriteLine("Quelle est la date de fin du projet ? (écrivez sous la forme \"jour,mois,année\" en chiffres (4 chiffres pour l'année). Exemple pour le 3 février 2019 : \"3,2,2019\"");
                stringDateFin = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringDateFin = Program.SeparerChaineDeCaracteres(stringDateFin);
                int           moisFin           = int.Parse(listStringDateFin[1]);
                int           jourFin           = int.Parse(listStringDateFin[0]);
                int           anneeFin          = int.Parse(listStringDateFin[2]);
                dateFin = new DateTime(anneeFin, moisFin, jourFin);
            }
            else
            {
                dateFin = typeProjet.DateFin;
                string jourFin  = dateFin.Day.ToString();
                string moisFin  = dateFin.Month.ToString();
                string anneeFin = dateFin.Year.ToString();
                stringDateFin = jourFin + ", " + moisFin + ", " + anneeFin;
            }

            //On récupère les mots-clefs
            List <string> motsClefs       = null;
            string        stringMotsClefs = "";

            if (typeProjet.MotsClefs == null)
            {
                Console.WriteLine("Quels sont les mots-clefs liés au projet ?");
                stringMotsClefs = Program.EnleverLesEspaces(Console.ReadLine());
                motsClefs       = Program.SeparerChaineDeCaracteres(stringMotsClefs);
            }
            else
            {   //On récupère dans un string tous les mots-clefs déjà présents pour les présenter à l'utilisateur
                string motsClefsDejaExistants = "";
                bool   premierMotClefPasse    = false;
                foreach (string motClef in typeProjet.MotsClefs)
                {
                    if (premierMotClefPasse)
                    {
                        motsClefsDejaExistants += ", " + motClef;
                    }
                    else
                    {
                        motsClefsDejaExistants += motClef;
                        premierMotClefPasse     = true;
                    }
                }
                Console.WriteLine("Voici les mots-clefs associés au type de projet \"" + typeProjet.Nom + "\" : " + motsClefsDejaExistants + ". Quels sont les mots-clefs que vous voulez rajouter ?");
                stringMotsClefs = Program.EnleverLesEspaces(Console.ReadLine());
                bool stringMotsClefsRempli = Program.VerifierChampRempli(stringMotsClefs);
                if (stringMotsClefsRempli)
                {
                    motsClefs = Program.SeparerChaineDeCaracteres(stringMotsClefs);
                    foreach (string motClef in typeProjet.MotsClefs)
                    {
                        motsClefs.Add(motClef);
                    }
                }
                else
                {
                    motsClefs = typeProjet.MotsClefs;
                    bool premierMotPasse = false;
                    foreach (string motClef in motsClefs)
                    {
                        if (premierMotPasse)
                        {
                            stringMotsClefs += ", " + motClef;
                        }
                        else
                        {
                            stringMotsClefs += motClef;
                            premierMotPasse  = true;
                        }
                    }
                }
            }

            int NbProjetsAvant = Repertoire.RepertoireProjets.Count();

            Repertoire.RepertoireProjets.Add(new Projet(nom, sujet, sujetLibre, typeProjet, anneesEtudes, matieres, anneeScolaire, etudiants, chefDeProjet,
                                                        developpeurs, maquetteurs, poleFacteurHumain, client, tuteurs, livrables, dateDebut, dateFin, motsClefs));
            int NbProjetsAprès = Repertoire.RepertoireProjets.Count();

            if (NbProjetsAprès == NbProjetsAvant + 1)
            {
                Console.Clear();
                Console.WriteLine("Le projet a été ajouté avec succès !");
                Sauvegarde.SauvegarderFichierTxtProjet(nom, sujet, sujetLibre, stringTypeProjet, stringAnneesEtudes, stringMatieres, stringAnneeScolaire,
                                                       stringEtudiants, stringChefDeProjet, stringDeveloppeurs, stringMaquetteurs, stringPoleFacteurHumain, stringClient, stringTuteurs,
                                                       stringLivrables, stringDateDebut, stringDateFin, stringMotsClefs);
            }
        }
Пример #5
0
        public void ConsulterAnneeScolaire(string instanceDeRecherche) // année d'étude
        {
            Console.WriteLine("Comment voulez-classer à l'affichage les projets qui correspondent à la recherche ? Ecrivez liberté de sujet, matière et année d'étude");
            string classement = Console.ReadLine();
            //Console.Clear();
            List <Projet> projetsAAfficher       = new List <Projet> {
            };
            AnneeScolaire AnneeScolaireRecherche = (AnneeScolaire)Convert.ChangeType(Repertoire["anneeScolaire", instanceDeRecherche], typeof(AnneeScolaire));

            foreach (Projet projet in Repertoire.RepertoireProjets) // On parcourt tous les projets de l'application, on ajoute les projets comprenant l'élève à la liste
            {
                if (projet.AnneeScolaire == AnneeScolaireRecherche)
                {
                    projetsAAfficher.Add(projet);
                }
            }
            if (classement == "année d'étude")
            {
                foreach (int anneeEtude in Repertoire.RepertoireAnneesEtudes) // Pour chaque année d'étude, on affiche les projets
                {
                    if (anneeEtude == 3)
                    {
                        Console.WriteLine("\n \n Troisième année d'étude : \n");
                    }
                    if (anneeEtude == 2)
                    {
                        Console.WriteLine("\n \n Deuxième année d'étude : \n");
                    }
                    if (anneeEtude == 1)
                    {
                        Console.WriteLine("\n \n Première année d'étude : \n");
                    }
                    foreach (Projet projet in projetsAAfficher)
                    {
                        foreach (int anneeEtudeProjet in projet.AnneesEtudes)
                        {
                            if (anneeEtudeProjet == anneeEtude)
                            {
                                Console.WriteLine(projet);
                            }
                        }
                    }
                }
                Console.ReadLine();
            }
            if (classement == "matière")
            {
                foreach (Matiere matiere in Repertoire.RepertoireMatieres) // Pour chaque année d'étude, on affiche les projets
                {
                    Console.WriteLine(matiere + ":");

                    foreach (Projet projet in projetsAAfficher)
                    {
                        foreach (Matiere matiereProjet in projet.Matieres)
                        {
                            if (matiereProjet == matiere)


                            {
                                Console.WriteLine(projet);
                            }
                        }
                    }
                }
                Console.ReadLine();
            }
            if (classement == "liberté de sujet")
            {
                foreach (string liberteDeSujet in Repertoire.RepertoireLibertesDeSujet) // Pour chaque année d'étude, on affiche les projets
                {
                    if (liberteDeSujet == "liste")
                    {
                        Console.WriteLine("\n \n Choix libre parmi une liste imposée de sujets : \n");
                    }
                    if (liberteDeSujet == "impose")
                    {
                        Console.WriteLine("\n \n Sujet imposé : \n");
                    }
                    if (liberteDeSujet == "libre")
                    {
                        Console.WriteLine("\n \n Sujet libre : \n");
                    }
                    foreach (Projet projet in projetsAAfficher)
                    {
                        if (projet.SujetLibre == liberteDeSujet)


                        {
                            Console.WriteLine(projet);
                        }
                    }
                }
                Console.ReadLine();
            }
        }