//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;
        }
 //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);
     }
 }
        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--------");
        }