Ejemplo n.º 1
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();
                }
            }
        }
Ejemplo n.º 2
0
 public ModificationUtilisateur(Repertoire repertoire, Program program, Sauvegarde sauvegarde)
 {
     Repertoire = repertoire;
     Program    = program;
     Sauvegarde = sauvegarde;
 }