public void DImprimante() // Fonction pour supprimer une imprimante // A1 D { AfficherToutesImprimantes(); int imprimanteId = RImprimante(); // Recherche de l'imprimante à mettre à jour. Retourne 0 si elle n'existe pas string choixMenu; if (imprimanteId != 0) { DImprimanteAfficherEffet(imprimanteId); do { Console.WriteLine("Êtes-vous certain de vouloir supprimer cette imprimante? (1-oui / 0-non)"); choixMenu = Console.ReadLine(); } while (choixMenu != "0" && choixMenu != "1"); if (choixMenu == "1") { Buse b; var idDeBuses = this.context.ConfigPhysiques .Where(c => c.ImprimanteId == imprimanteId) .ToList(); foreach (ConfigPhysique bb in idDeBuses) { b = this.context.Buses.Find(idDeBuses); foreach (ConfigPhysique cp in b.ConfigPhysiques.ToList()) { b.ConfigPhysiques.Remove(cp); // dissocie les config de la buse } } context.SaveChanges(); var imprimante = this.context.Imprimantes.Where(c => c.ID == imprimanteId).First(); // L'imprimante que l'on veut supprimer this.context.Imprimantes.Remove(imprimante); this.context.SaveChanges(); Console.WriteLine("L'imprimante a été supprimer."); } } Console.WriteLine("Appuyez sur la touche entrée"); Console.ReadLine(); }