public void EmprunterOeuvre() { Console.WriteLine("Numéro de l'oeuvre à emprunter : "); Int32.TryParse(Console.ReadLine(), out int id); oeuvre = mediatheque.GetOeuvreById(id); if (oeuvre != null) { if (oeuvre.Status == "disponible") { //méthode changer status de l'oeuvre en emprunté DateTime dateEmprunt = DateTime.Now; DateTime dateRetour = dateEmprunt.AddDays(15); mediatheque.Emprunte += () => ChangeText("Livre n°" + id + " emprunté", ConsoleColor.Yellow); mediatheque.Emprunter(id, "emprunté", dateEmprunt, dateRetour); } else { ChangeText("Désolé, cet oeuvre n'est pas disponible", ConsoleColor.Magenta); } } else { ChangeText("Pas d'oeuvre à ce numéro", ConsoleColor.Red); } }
public void EmprunterOeuvre() { //Affichage de la liste des oeuvres pour pouvoir choisir ListOeuvre(); Console.WriteLine("votre identifiant : "); Int32.TryParse(Console.ReadLine(), out int identifiant); adherent = mediatheque.GetAdherentById(identifiant); if (adherent != null) { Console.WriteLine("Numéro de l'oeuvre à emprunter : "); Int32.TryParse(Console.ReadLine(), out int id); //on récupère l'oeuvre correspondante au numéro à emprunter oeuvre = mediatheque.GetOeuvreById(id); //si cette oeuvre existe, et si son status est disponible alors on procède à son emprunt if (oeuvre != null) { if (oeuvre.Status == "disponible") { //méthode changer status de l'oeuvre en emprunté DateTime dateEmprunt = DateTime.Now; /*On ajoute 15 jours à la date d'emprunt via la méthode AddDays(nombre de jours à ajouter en int)*/ DateTime dateRetour = dateEmprunt.AddDays(15); /*on abonne l'événement définit dans Mediatheque à une méthode sans paramètre qui envoit un message */ mediatheque.Emprunte += () => ChangeText("Livre n°" + id + " emprunté", ConsoleColor.Yellow); /*j'ai abonné une autre méthode(voir plus bas) à lévénement qui déclenche un effet sonore*/ mediatheque.Emprunte += AlertSonore; /*en appelant la méthode Emprunter décrit dans Mediatheque, on déclenche également l'événement qu'on a mis à l'intérieur de Emprunter*/ //dans la méthode emprunter on sauvegarde et on ajoute l'oeuvre empruntée au compte de l'adhérent mediatheque.Emprunter(id, "emprunté", dateEmprunt, dateRetour, identifiant); } //sinon on affiche un message else { ChangeText("Désolé, cet oeuvre n'est pas disponible", ConsoleColor.Magenta); } } //si l'oeuvre n'appartient pas à la médiathèque, on affiche un message else { ChangeText("Pas d'oeuvre à ce numéro", ConsoleColor.Red); } } else { ChangeText("Vous n'êtes pas inscrit, veuillez vous inscrire", ConsoleColor.Red); } }