Exemplo n.º 1
0
        public void MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(CMonstre monstreStatutAChanger)
        {
            //Vu que la fonction de gestion des cagnottes change une cagnotte d'un monstre à la fois, on a juste a prendre son matricule
            if (monstreStatutAChanger.CagnotteInt < 50) //si la cagnotte du monstre est inférieure à 50
            {
                #region
                //direct affecté à un stand barbeAPapa
                //On cherche dans les attractions un stand Boutique + Barbe a papa
                for (int i = 0; i < m_attractionsListAttr.Count; i++)
                {
                    if (m_attractionsListAttr[i] is CBoutique)
                    {
                        CBoutique b = (CBoutique)m_attractionsListAttr[i];
                        if (b.TypeBoutiq == TypeBoutique.barbeAPapa) //A partir de la nous avons trouvé l'attraction a laquelle le monstre est affecté
                        {
                            monstreStatutAChanger.AjouterUneAffectationAttraction(b);
                            b.AjouterUnMonstreALEquipe(monstreStatutAChanger);
                        }
                    }
                }

                #endregion
            }
            //Dans le cas ou la cagnotte est supérieure 500, il faut vérifier si c'est un zombie ou demon

            if (monstreStatutAChanger.CagnotteInt > 500 && (monstreStatutAChanger is CZombie || monstreStatutAChanger is CDemon))
            {
                monstreStatutAChanger.DisparitionCagnotte500();
            }
        }
Exemplo n.º 2
0
        //Il faut une fonction permettant de changer l'affectation d'un monstre d'une atttraction a une autre
        public void ChangerAffectationTravailleurAttractionAUneAutre() // En paramètre : int matriculePersonnel, int matriculeAttraction
        {
            Console.WriteLine("BIENVENUE DANS LA GESTION DES AFFECTATIONS D'UN MONSTRE SUR UNE AUTRE ATTRACTION");
            Console.WriteLine("--------------------------------------------------");
            Console.WriteLine("Nous allons pour le monstre suivant et l'attraction suivante effectuer une affectation");
            int      matriculePersonnel  = 66254;
            int      matriculeAttraction = 112;
            CMonstre personnelATrouver   = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter) //on cast car logique c'est un montre concerné par le matricule
                                                                                    { return(personnelAAffecter.MatriculeInt == matriculePersonnel); });
            //On récupère dans la liste des attractions celle que l'on veut mettre en maintenance
            CAttraction attractionATrouver = m_attractionsListAttr.Find(delegate(CAttraction attraction)
                                                                        { return(attraction.IdentifiantInt == matriculeAttraction); });

            Console.WriteLine(attractionATrouver.DisplayObject());
            Console.WriteLine(personnelATrouver.DisplayObject());
            Console.WriteLine("Appuyer sur une touche pour continuer...");
            Console.ReadKey();
            //on stock les infos de l'attraction dans l'attribut affectation du monstre
            personnelATrouver.ChangerAffectation(attractionATrouver); //attribut attraction du monstre = attraction
            //inversement, on ajoute les monstres dans l'attributs equipeMonstre de chacun des attractions
            attractionATrouver.AjouterUnMonstreALEquipe(personnelATrouver);
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Changement effectué ! Le monstre n° " + matriculePersonnel + " travaille maintenant sur l'attraction n° " + matriculeAttraction + ".\nStatut :");
            Console.WriteLine("------------------------------------------------------------------------------------------------------------");
            Console.WriteLine(attractionATrouver.DisplayObject());
            Console.WriteLine(personnelATrouver.DisplayObject());
            Console.WriteLine("--------------------------------FIN GESTION DES AFFECTATIONS---------------------------------------------");
            Console.ForegroundColor = ConsoleColor.Gray;
        }
Exemplo n.º 3
0
 //Affiche en console la liste des personnels "libre" ou "parc" ou "membre administration" ou "attraction"
 public void AffichagePersonnelStatutDesire(string statutDesire) //statutDesire = libre, parc, membre administration, attraction
 {
     try
     {
         if (statutDesire == "libre" || statutDesire == "parc" || statutDesire == "attraction" || statutDesire == "membre administration")
         {
             foreach (CPersonnel p in m_toutLePersonnelListPers)
             {
                 if (p is CMonstre)
                 {
                     CMonstre m = (CMonstre)p; //on cast l'element personnel en monstre pour pouvoir voir son statut et l'afficher eventuellement
                     if (m.IntituleAffectationString == statutDesire)
                     {
                         Console.WriteLine(m.DisplayObject());
                     }
                 }
             }
         }
         else
         {
             throw new Exception("Le statut doit etre egal a : libre, parc, membre administration, attraction");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("ERREUR dans AffichagePersonnelStatut() " + e.Message);
     }
 }
Exemplo n.º 4
0
        private void ComboBoxItem_Selected_1(object sender, RoutedEventArgs e)
        {
            Liste1.Items.Clear();
            //Matricule/Nom/Prénom/Cagnotte(sorcier sinon)/
            List <Tuple <string, int, string, string, int> > list = new List <Tuple <string, int, string, string, int> >();

            foreach (CPersonnel p in monAdministration.ListPersonnels)
            {
                if (p is CMonstre)
                {
                    CMonstre m = (CMonstre)p;
                    list.Add(Tuple.Create(m.RacePersonnelStr, m.MatriculeInt, m.NomStr, m.PrenomStr, m.CagnotteInt));
                }
                else
                {
                    list.Add(Tuple.Create(p.RacePersonnelStr, p.MatriculeInt, p.NomStr, p.PrenomStr, -1));
                }
            }
            // Display header
            string header = String.Format("{0,-12}{1,9}{2,13}{3,13}{4,10}\n",
                                          "Race", "Matricule", "Nom", "Prénom", "Cagnotte");

            //Console.WriteLine(header);
            Liste1.Items.Add(header);
            string output;

            foreach (var personnel in list)
            {
                output = String.Format("{0,-12}{1,9:000}{2,13}{3,13:00}{4,10}", personnel.Item1, personnel.Item2, personnel.Item3, personnel.Item4, personnel.Item5);
                //Console.WriteLine(output);
                Liste1.Items.Add(output);
            }
        } //Affiche sur l'interface la liste des personnels
Exemplo n.º 5
0
        //Creation d'un dictionnaire qui joint les matricules en fonction des cagnottes
        public Dictionary <int, int> CreerDictionnaireMatriculeCagnotte(List <CPersonnel> list)
        {
            //On désire créer un dictionnaire permettant de retrouver en fonction du matricule, la cagnotte associée
            Dictionary <int, int> dictionnaireMatriculeCagnotte = new Dictionary <int, int>();

            if (list != null)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    //il faut faire la différence entre les monstres et les sorciers '(qui n'ont pas de cagnottes eux)
                    if (list[i] is CMonstre)
                    {
                        CMonstre m = (CMonstre)list[i];
                        dictionnaireMatriculeCagnotte.Add(m.MatriculeInt, m.CagnotteInt);
                    }
                }
            }
            return(dictionnaireMatriculeCagnotte);
        }
Exemplo n.º 6
0
        public void VoirListDesLibresPourAffectation()
        {
            //try
            //{
            Console.WriteLine("BIENVENUE DANS L'ESPACE D'AFFECTATION DES MEMBRES DU PERSONNEL LIBREs A UNE ATTRACTION");
            Console.WriteLine("--------------------------------------------------------------------------------------\n");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Voici la liste du personnel libre : ");
            Console.ForegroundColor = ConsoleColor.Gray;
            AffichagePersonnelStatutDesire("libre");
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Voici la liste des attractions existantes dans le parc : ");
            Console.ForegroundColor = ConsoleColor.Gray;
            AffichageListeAttraction(m_attractionsListAttr);
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("On choisit le matricule d'un membre du personnel que l'on souhaite affecter, par exemple: 66654");
            int reponseUtilisateurPersonnelInt = Int32.Parse(Console.ReadLine());

            Console.WriteLine("On choisit le matricule de l'attraction sur laquelle le membre du personnel va êre affecté par exemple: 112");
            int reponseUtilisateurAttraction = Int32.Parse(Console.ReadLine());

            Console.ForegroundColor = ConsoleColor.Gray;
            CMonstre personnel = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter)                                          //on cast car logique c'est un montre concernéar le matricule
                                                                          { return(personnelAAffecter.MatriculeInt == reponseUtilisateurPersonnelInt); }); //ici on cherche dans la liste le membre ayant le matricule entréar l'utilsateur dans la liste complete
                                                                                                                                                           // ICI il faut aussi trouver la bonne attraction
            CAttraction attraction = m_attractionsListAttr.Find(delegate(CAttraction attractionAffectee)
                                                                { return(attractionAffectee.IdentifiantInt == reponseUtilisateurAttraction); });

            //on met a jour l'affection du membre du personnel
            personnel.ChangerAffectation(attraction); //l'intituléu statut est MAJ en meme temps
                                                      //on met a jour la liste des travailleurs sur une attraction
            attraction.AjouterUnMonstreALEquipe(personnel);
            //}
            //catch(Exception e)
            //{
            //    Console.WriteLine("Erreur dans VoirListDesLibresPourAffectation()" + e.Message);
            //}
        }
Exemplo n.º 7
0
        public void GestionDeLaCagnotteDesMonstres()
        {
            Console.WriteLine("BIENVENUE DANS LA GESTION DES CAGNOTTES ROSE ");
            Console.WriteLine("--------------------------------------------------");
            //AffichageListePersonnel(m_toutLePersonnelListPers);
            Console.WriteLine("On choisit un membre sur lequel on agit sur sa cagnotte. Voici le demon :");
            //string reponseRose = Console.ReadLine();
            int      reponseMatricule  = 66987;
            CMonstre personnelATrouver = (CMonstre)m_toutLePersonnelListPers.Find(delegate(CPersonnel personnelAAffecter)  //on cast car logique c'est un montre concerné par le matricule
                                                                                  { return(personnelAAffecter.MatriculeInt == reponseMatricule); });

            Console.WriteLine(personnelATrouver.DisplayObject());

            //Console.WriteLine("Appuyer ");
            //Console.WriteLine("Vous voulez 'Ajouter' ou 'Retirer' ? ");
            string reponse2 = "Ajouter";
            //Console.WriteLine("Combien ?");
            //string reponse3 = Console.ReadLine();
            int reponse3Int = 500;

            Console.WriteLine("On ajoute a ce demon la somme de 500 a sa cagnotte, son statut va changer");
            Console.WriteLine("Appuyer sur une touche pour continuer...");
            Console.ReadKey();

            if (reponse2 == "Ajouter" || reponse2 == "Retirer")
            {
                personnelATrouver.AgirSurCagnotte(reponse2, reponse3Int); //retire ou ajoute le montant désiré de la cagnotte du monstre
            }



            //Ajouter ici la fonction qui permet de rafraichir les différents statuts des monstres selon les modifications de cagnottes
            MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(personnelATrouver);
            Console.WriteLine(personnelATrouver.DisplayObject());
            Console.WriteLine("-------FIN DE LA GESTION DES CAGNOTTES--------");
        }
Exemplo n.º 8
0
 public void AjouterUnMonstreALEquipe(CMonstre monstre)
 {
     m_equipeListMonstre.Add(monstre);
 }
Exemplo n.º 9
0
 //Affichage de la liste des personnels chargée en attribut dans un .CSV
 public void AffichageListePersonnelDansCSV(string nomFichier, List <CPersonnel> list)
 {
     try
     {
         StreamWriter ecriture = new StreamWriter(nomFichier);
         string       mot      = " ";
         for (int i = 0; i < list.Count; i++)
         {
             mot = list[i].RacePersonnelStr + ";" + list[i].MatriculeInt + ";" + list[i].NomStr + ";" + list[i].PrenomStr + ";" + list[i].Sexe + ";" + list[i].FonctionStr + ";";
             //Il faut maintenant différencier toutes les races des personnels pour finir d'afficher tous les attributs
             if (list[i] is CSorcier)
             {
                 CSorcier s = (CSorcier)list[i];
                 mot += s.Tatouage + ";";
                 foreach (string element in s.ListePouvoirs)
                 {
                     if (element == s.ListePouvoirs.Last())
                     {
                         mot += element;
                     }
                     else
                     {
                         mot += element + "-";
                     }
                 }
             }
             else if (list[i] is CDemon)
             {
                 CDemon d = (CDemon)list[i];
                 mot += d.CagnotteInt + ";" + d.IDAttractionAffecteeInt + ";" + d.ForceInt;
             }
             else if (list[i] is CFantome)
             {
                 CFantome f = (CFantome)list[i];
                 mot += f.CagnotteInt + ";" + f.IDAttractionAffecteeInt;
             }
             else if (list[i] is CLoupGarou)
             {
                 CLoupGarou l = (CLoupGarou)list[i];
                 mot += l.CagnotteInt + ";" + l.IDAttractionAffecteeInt + ";" + l.IndiceCruauteDbl;
             }
             else if (list[i] is CVampire)
             {
                 CVampire v = (CVampire)list[i];
                 mot += v.CagnotteInt + ";" + v.IDAttractionAffecteeInt + ";" + v.IndiceLuminositeFloat;
             }
             else if (list[i] is CZombie)
             {
                 CZombie z = (CZombie)list[i];
                 mot += z.CagnotteInt + ";" + z.IDAttractionAffecteeInt + ";" + z.DegreDecompositionInt + ";" + z.Teint;
             }
             //Cette boucle est mise à la fin car tous les personnels sont de race CMonstre, donc si on arrive ici, alors on est sur que c'est un pur monstre
             else if (list[i] is CMonstre)
             {
                 CMonstre m = (CMonstre)list[i];
                 mot += m.CagnotteInt + ";" + m.IDAttractionAffecteeInt;
             }
             ecriture.Write(mot + "\n");
         }
         ecriture.Close();
         Console.WriteLine("Les données ont été rangés dans un fichier .csv de nom : " + nomFichier);
     }
     catch (Exception e)
     {
         Console.WriteLine("ERREUR DANS AffichageListePersonnelDansCSV" + e.Message);
     }
 }
Exemplo n.º 10
0
        public void AjouterUnMembreDuPersonnel()
        {
            bool   reponseUtilisateurChoixPersonnelBool = false;
            bool   PersonnelCreeBool          = false;
            string reponseFinaleAttractionStr = "";
            string reponseUtilisateur         = "";

            try
            {
                Console.WriteLine("BIENVENUE DANS L'ESPACE DE CREATION DES MEMBRES DU PERSONNEL");
                Console.WriteLine("-------------------------------------------------------\n");
                while (!reponseUtilisateurChoixPersonnelBool) //tant que le choix utilisateur sur l'attraction est incorrect
                {
                    #region Choix Utilisateur pour la crétion de monstre
                    try
                    {
                        Console.WriteLine("On choisit le type de membre du personnel que l'on veut créer, par exemple: monstre.");
                        reponseUtilisateur = "Monstre";
                        if (reponseUtilisateur == "Monstre")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "Sorcier")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "Demon")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "LoupGarou")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "Vampire")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "Zombie")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else if (reponseUtilisateur == "Fantome")
                        {
                            reponseUtilisateurChoixPersonnelBool = true;
                        }
                        else
                        {
                            throw new Exception("La reponse utlisateur est incorrect");
                        }
                        reponseFinaleAttractionStr = reponseUtilisateur;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        reponseUtilisateurChoixPersonnelBool = false;
                    }
                    #endregion
                }
                while (!PersonnelCreeBool)
                {
                    #region Creation des Personnels
                    try
                    {
                        //Tous les attributs en commun
                        //string raceStr = reponseUtilisateur;
                        string matriculeStr = "";
                        string nomStr       = "";
                        string prenomStr    = "";
                        string sexeStr      = "";
                        string fonctionStr  = "";
                        string cagnotteStr  = "";

                        Console.WriteLine("On choisit un matricule au membre du personnel que l'on souhaite ajouter, par exemple : 54321");
                        matriculeStr = "54321";
                        Console.WriteLine("On choisit un nom de famille au membre du personnel que l'on souhaite ajouter, par exemple : Jean");
                        nomStr = "DUPONT";
                        Console.WriteLine("On choisit un pénom au membre du personnel que l'on souhaite ajouter, par exemple : DUPONT");
                        prenomStr = "Jean";
                        Console.WriteLine("On choisit un sexe au membre du personnel que l'on souhaite ajouter, par exemple : male");
                        sexeStr = "male";
                        Console.WriteLine("On choisit une fonction au membre du personnel que l'on souhaite ajouter, par exemple : stagiaire");
                        fonctionStr = "stagiaire";
                        if (reponseFinaleAttractionStr == "Sorcier")
                        {
                            string gradeStr = "";
                            Console.WriteLine("Chosir le grade du sorcier (novice, mega, giga, strata) : ");
                            gradeStr = Console.ReadLine();
                            string listPouvoirStr = "";
                            Console.WriteLine("Chosir le(s) pouvoir(s) du sorcier, ils doivent êre séaré d'un - : ");
                            listPouvoirStr = Console.ReadLine();
                            CSorcier nouveauSorcier = new CSorcier(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, gradeStr, listPouvoirStr);
                            if (nouveauSorcier != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauSorcier);
                                Console.WriteLine("Le sorcier a été ajouté avec succès à la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Monstre")
                        {
                            Console.WriteLine("On choisit une cagnotte au monstre que l'on souhaite ajouter, par exmple : 34");
                            cagnotteStr = "34";
                            string affectationStr = "";
                            Console.WriteLine("On choisit une attraction au monstre que l'on souhaite ajouter, par exmple : 684");
                            affectationStr = "684";
                            CMonstre nouveauMonstre = new CMonstre(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr);
                            if (nouveauMonstre != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauMonstre);
                                MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauMonstre);

                                Console.WriteLine("Le monstre a ééjoutévec succè a la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Demon")
                        {
                            Console.WriteLine("Chosir la cagnotte : ");
                            cagnotteStr = Console.ReadLine();
                            string affectationStr = "";
                            Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): ");
                            affectationStr = Console.ReadLine();
                            string forceStr = "";
                            Console.WriteLine("Chosir la force du demon : ");
                            forceStr = Console.ReadLine();
                            CDemon nouveauPersonnel = new CDemon(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, forceStr);
                            if (nouveauPersonnel != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauPersonnel);
                                Console.WriteLine("Le demon a ééjoutévec succè a la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Fantome")
                        {
                            Console.WriteLine("Chosir la cagnotte : ");
                            cagnotteStr = Console.ReadLine();
                            string affectationStr = "";
                            Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): ");
                            affectationStr = Console.ReadLine();
                            CFantome nouveauPersonnel = new CFantome(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr);
                            if (nouveauPersonnel != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauPersonnel);
                                MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel);
                                Console.WriteLine("Le fantome a ééjoutévec succè a la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "LoupGarou")
                        {
                            Console.WriteLine("Chosir la cagnotte : ");
                            cagnotteStr = Console.ReadLine();
                            string affectationStr = "";
                            Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): ");
                            affectationStr = Console.ReadLine();
                            string forceStr = "";
                            Console.WriteLine("Chosir la cruautéu LoupGarou : ");
                            forceStr = Console.ReadLine();
                            CLoupGarou nouveauPersonnel = new CLoupGarou(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, forceStr);
                            if (nouveauPersonnel != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauPersonnel);
                                MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel);
                                Console.WriteLine("Le LoupGarou a ééjoutévec succè a la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Vampire")
                        {
                            Console.WriteLine("Chosir la cagnotte : ");
                            cagnotteStr = Console.ReadLine();
                            string affectationStr = "";
                            Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): ");
                            affectationStr = Console.ReadLine();
                            string indiceStr = "";
                            Console.WriteLine("Chosir la luminositéu vampire : ");
                            indiceStr = Console.ReadLine();
                            CVampire nouveauPersonnel = new CVampire(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, indiceStr);
                            if (nouveauPersonnel != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauPersonnel);
                                MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel);
                                Console.WriteLine("Le vampire a ééjoutévec succè a la liste des personnels");
                            }
                        }
                        else if (reponseFinaleAttractionStr == "Zombie")
                        {
                            Console.WriteLine("Chosir la cagnotte : ");
                            cagnotteStr = Console.ReadLine();
                            string affectationStr = "";
                            Console.WriteLine("Chosir parmi les attractions existantes un matricule (3 chiffres): ");
                            affectationStr = Console.ReadLine();
                            string couleurStr = "";
                            Console.WriteLine("Chosir la teinte du zombie (bleuatre/grisatre) : ");
                            couleurStr = Console.ReadLine();
                            string degreStr = "";
                            Console.WriteLine("Choisir le degrée déomposition du zombie : ");
                            degreStr = Console.ReadLine();
                            CZombie nouveauPersonnel = new CZombie(matriculeStr, nomStr, prenomStr, sexeStr, fonctionStr, cagnotteStr, affectationStr, couleurStr, degreStr);
                            if (nouveauPersonnel != null)
                            {
                                PersonnelCreeBool = true;
                                m_toutLePersonnelListPers.Add(nouveauPersonnel);
                                MAJDesStatutsDesMonstresEnFonctionDeLaCagnotte(nouveauPersonnel);
                                Console.WriteLine("Le zombie a ééjoutévec succè a la liste des personnels");
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("ERREUR DANS AjouterUnMembreDuPersonnel() : " + e.Message);
                    }
                    #endregion
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ERREUR DANS AjouterUnMembreDuPersonnel() " + e.Message);
            }
            //Console.WriteLine("------------------------FIN ESPACE DE CREATION PERSONNEL-------------------------------\n");
        }
Exemplo n.º 11
0
        static void LectureFichierCSV(string nomFichier, List <CPersonnel> listDesPersonnels, List <CAttraction> listDesAttractions)
        {
            int i = 1;

            try
            {
                #region Test De la validé du fichier entré en paramètre
                StreamReader monStreamReader = new StreamReader(nomFichier);
                //On déclare une string pour la lecture ligne par ligne du fichier .csv
                string ligneLuStr = monStreamReader.ReadLine(); //Lecture de la premiere ligne
                //Tant que l'on est pas à la fin du fichier
                //Installation d'un compteur
                List <CMonstre> listDesMonstres = new List <CMonstre>();
                while (ligneLuStr != null)
                {
                    try
                    {
                        //Chaque mot dans le fichier est séparé par un ;
                        string[] TabStr = ligneLuStr.Split(';'); // Toutes les cases sont contenues dans le tab de string
                                                                 //DisplayTabStr(tempTabStr);
                        if (TabStr[0] == "Sorcier")
                        {
                            #region Condition pour creer un sorcier
                            //NOUS NOUS OCCUPONS D'UN SORCIER
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "sorcier"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le sorcier
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CSorcier nouveauSorcier = new CSorcier(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesPersonnels.Add(nouveauSorcier);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Monstre")
                        {
                            #region Condition pour creer un monstre
                            //NOUS NOUS OCCUPONS D'UN MONSTRE
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "monstre"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le monstre
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CMonstre nouveauMonstre = new CMonstre(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesMonstres.Add(nouveauMonstre);
                                listDesPersonnels.Add(nouveauMonstre);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Demon")
                        {
                            #region Condition pour creer un demon
                            //NOUS NOUS OCCUPONS D'UN DEMON
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "demon"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le demon
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CDemon nouveauDemon = new CDemon(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauDemon);
                                listDesPersonnels.Add(nouveauDemon);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "LoupGarou")
                        {
                            #region Condition pour creer un LoupGarou
                            //NOUS NOUS OCCUPONS D'UN LoupGarou
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "loupgarou"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le loupgarou
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CLoupGarou nouveauLoupGarou = new CLoupGarou(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauLoupGarou);
                                listDesPersonnels.Add(nouveauLoupGarou);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Vampire")
                        {
                            #region Condition pour creer un Vampire
                            //NOUS NOUS OCCUPONS D'UN Vampire
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "vampire"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le vampire
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CVampire nouveauVampire = new CVampire(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesMonstres.Add(nouveauVampire);
                                listDesPersonnels.Add(nouveauVampire);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Fantome")
                        {
                            #region Condition pour creer un fantome
                            //NOUS NOUS OCCUPONS D'UN FANTOME
                            //Il faut enlever les deux dernieres cases du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 8 attributs + 1 case "fantome"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le monstre
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case                                                                                                                    // Dans les 2 cas, on prend soin de vérifier que ce sont bien les 8 premieres cases du fichier csv qui sont remplies et non la 11eme (ce qui ferait une .Length de 10 et du coup ça passerait)
                            {
                                CFantome nouveauFantome = new CFantome(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesMonstres.Add(nouveauFantome);
                                listDesPersonnels.Add(nouveauFantome);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Zombie")
                        {
                            #region Condition pour creer un zombie
                            //NOUS NOUS OCCUPONS D'UN ZOMBIE
                            string[] tempTabStr = TabStr; // 9 attributs + 1 case "zombie"
                            if (tempTabStr.Length == 10)  // car contient 9 attributs + 1 pour la premiere case
                            {
                                CZombie nouveauZombie = new CZombie(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8], tempTabStr[9]);
                                listDesMonstres.Add(nouveauZombie);
                                listDesPersonnels.Add(nouveauZombie);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Boutique")
                        {
                            #region Condition pour creer une boutique
                            //NOUS NOUS OCCUPONS D'UN BOUTIQUE
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[7]; // 6 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 7 comme prévu pour la boutique
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 7) // car contient 6 attributs + 1 pour la premiere case
                            {
                                CBoutique nouvelleBoutique = new CBoutique(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6]);
                                listDesAttractions.Add(nouvelleBoutique);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "Spectacles")
                        {
                            #region Condition pour creer un spectacle
                            //NOUS NOUS OCCUPONS D'UN SPECTACLE
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 9 comme prévu pour le spectacle
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 8 attributs + 1 pour la premiere case
                            {
                                CSpectacle nouveauSpectacle = new CSpectacle(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesAttractions.Add(nouveauSpectacle);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "DarkRide")
                        {
                            #region Condition pour creer un DarkRide
                            //NOUS NOUS OCCUPONS D'UN DarkRide
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[8]; // 7 attributs + 1 case "DarkRide"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //On se retrouve du coup avec un tableau de 8 comme prévu pour le DarkRide
                            //DisplayTabStr(tempTabStr);
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 8) // car contient 7 attributs + 1 pour la premiere case
                            {
                                CDarkRide nouveauDarkRide = new CDarkRide(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7]);
                                listDesAttractions.Add(nouveauDarkRide);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else if (TabStr[0] == "RollerCoaster")
                        {
                            #region Condition pour creer un rollerCoaster
                            //NOUS NOUS OCCUPONS D'UN rollerCoaster
                            //Il faut enlever la derniere case du tableau car il fait automatiquement 10 de taille
                            string[] tempTabStr = new string[9]; // 8 attributs + 1 case "boutique"
                            for (int index = 0; index < tempTabStr.Length; index++)
                            {
                                tempTabStr[index] = TabStr[index];
                            }
                            //Le but est de blinder ce que l'on va pouvoir lire sur le fichier pour faciliter le constructeur ensuite
                            if (tempTabStr.Length == 9) // car contient 6 attributs + 1 pour la premiere case
                            {
                                CRollerCoaster nouveauRollerCoaster = new CRollerCoaster(tempTabStr[1], tempTabStr[2], tempTabStr[3], tempTabStr[4], tempTabStr[5], tempTabStr[6], tempTabStr[7], tempTabStr[8]);
                                listDesAttractions.Add(nouveauRollerCoaster);
                            }
                            else
                            {
                                throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA BOUCLE " + tempTabStr[0].ToUpper() + " : Le nombre d'attributs dans le .csv est incorrect : " + tempTabStr.Length + "\nOU certains attributs ont été mal rempli dans le fichier .csv: ");
                            }

                            #endregion
                        }
                        else
                        {
                            throw new Exception("\nLIGNE[" + i + "] ERREUR POUR LA CASE 1 : Le type d'objet n'est pas reconnu pour le parc : " + TabStr[0]);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("\nERREUR DANS LECTUREFICHIERCSV LIGNE[" + i + "] : " + e.Message);
                    }
                    i++;
                    ligneLuStr = monStreamReader.ReadLine(); //Lecture de la ligne suivante
                }
                // Et on oublie pas de fermer le flux
                monStreamReader.Close();
                //Il faut maintenant vérifier si toutes les affectations aux attractions chez les monstres est valide
                //foreach(CMonstre m in listDesMonstres)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                //foreach (CAttraction m in listDesAttractions)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                //Console.WriteLine("JUSTE AVANT DE METTRE A JOUR LES AFFECTATIONS\n");
                //Console.ReadKey();
                try
                {
                    MiseAJourDesAttractionsAffecteesAuxMonstres(listDesMonstres, listDesAttractions);
                }
                catch (Exception e)
                {
                    Console.WriteLine("ERREUR pour  MiseAJourDesAttractionsAffecteesAuxMonstres() " + e.Message);
                }
                //foreach (CPersonnel m in listDesPersonnels)
                //{
                //    Console.WriteLine(m.DisplayObject());
                //}
                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine("ERREUR FICHIER DANS LECTUREFICHIERCSV : " + e.Message);
            }
        }