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