public bool ReleasePet(string clinicName) { Clinic clinic = GetClinic(clinicName); bool result = clinic.RemovePet(); return(result); }
public static void Main() { int numberOfCommands = int.Parse(Console.ReadLine()); List <Pet> pets = new List <Pet>(); List <Clinic> clinics = new List <Clinic>(); for (int i = 0; i < numberOfCommands; i++) { string[] command = Console.ReadLine().Split(); switch (command[0]) { case "Create": if (command[1] == "Pet") { Pet pet = new Pet(command[2], int.Parse(command[3]), command[4]); pets.Add(pet); } else if (command[1] == "Clinic") { int numberOfRooms = int.Parse(command[3]); if (numberOfRooms % 2 == 0) { Console.WriteLine("Invalid Operation!"); } else { Clinic clinic = new Clinic(command[2], numberOfRooms); clinics.Add(clinic); } } break; case "Add": if (!pets.Any(p => p.Name == command[1]) || !clinics.Any(c => c.Name == command[2])) { Console.WriteLine("Invalid Operation!"); } else { Pet pet = pets.First(p => p.Name == command[1]); Clinic clinic = clinics.First(c => c.Name == command[2]); Console.WriteLine(clinic.AddPet(pet)); } break; case "Release": if (!clinics.Any(c => c.Name == command[1])) { Console.WriteLine("Invalid Operation!"); } else { Clinic clinic = clinics.First(c => c.Name == command[1]); Console.WriteLine(clinic.RemovePet()); } break; case "HasEmptyRooms": if (!clinics.Any(c => c.Name == command[1])) { Console.WriteLine("Invalid Operation!"); } else { Clinic clinic = clinics.First(c => c.Name == command[1]); Console.WriteLine(clinic.HasEmptyRooms()); } break; case "Print": if (!clinics.Any(c => c.Name == command[1])) { Console.WriteLine("Invalid Operation!"); } else { if (command.Length == 2) { Clinic clinic = clinics.First(c => c.Name == command[1]); Console.Write(clinic.ToString()); } else if (command.Length == 3) { Clinic clinic = clinics.First(c => c.Name == command[1]); Console.Write(clinic.PrintRoom(int.Parse(command[2]))); } } break; default: break; } } }