コード例 #1
0
        public bool ReleasePet(string clinicName)
        {
            Clinic clinic = GetClinic(clinicName);
            bool   result = clinic.RemovePet();

            return(result);
        }
コード例 #2
0
    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;
            }
        }
    }