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