public static void Main()
        {
            var doctors  = new Dictionary <string, List <string> >();
            var hospital = new Hospital();


            string command;

            while ((command = Console.ReadLine()) != "Output")
            {
                var tokens      = command.Split();
                var departament = tokens[0];

                var patient  = tokens[3];
                var fullName = $"{tokens[1]} {tokens[2]}";

                if (!doctors.ContainsKey(fullName))
                {
                    CreateNewDoctor(doctors, fullName);
                }

                if (!hospital.Departments.Any(d => d.Name == departament))
                {
                    hospital.CreateNewDepartment(departament);
                }
                var freeRoom = hospital.FindRoom(departament);
                if (freeRoom != null)
                {
                    AddPatientToDoctor(doctors, patient, fullName);
                    hospital.AddPatient(departament, freeRoom, patient);
                }
            }

            while ((command = Console.ReadLine()) != "End")
            {
                var args = command.Split();

                Print(doctors, hospital, args);
            }
        }
        public void Run()
        {
            string command = Console.ReadLine();

            while (command != "Output")
            {
                string[] tokens      = command.Split();
                var      departament = tokens[0];

                var firstName = tokens[1];
                var lastName  = tokens[2];

                var patient = tokens[3];

                var fullName = firstName + " " + lastName;
                hospital.AddDepartaments(departament);
                hospital.AddDoctors(firstName, lastName);
                hospital.AddPatient(departament, fullName, patient);

                command = Console.ReadLine();
            }

            command = Console.ReadLine();

            while (command != "End")
            {
                var arguments = command.Split(" ");

                if (arguments.Length == 1)
                {
                    var departamentName = arguments[0];
                    var departament     = hospital.Departments.FirstOrDefault(d => d.Name == departamentName);
                    Console.WriteLine(departament);
                }
                else
                {
                    bool isRoom = int.TryParse(arguments[1], out int result);

                    if (isRoom)
                    {
                        var departamentName = arguments[0];
                        var departament     = hospital.Departments.FirstOrDefault(d => d.Name == departamentName);

                        var currentRoom = departament.Rooms[result - 1];

                        Console.WriteLine(currentRoom);
                    }
                    else
                    {
                        var firsName = arguments[0];
                        var lastName = arguments[1];

                        var fullName = firsName + " " + lastName;

                        var doctor = hospital.Doctors.FirstOrDefault(d => d.FullName == fullName);

                        Console.WriteLine(doctor);
                    }
                }

                command = Console.ReadLine();
            }
        }
Exemple #3
0
        public void Run()
        {
            string command = Console.ReadLine();

            while (command != "Output")
            {
                string[] inputArgs = command.Split();

                string departament = inputArgs[0];
                string firstName   = inputArgs[1];
                string secondName  = inputArgs[2];
                string patient     = inputArgs[3];

                string fullName = firstName + " " + secondName;

                hospital.AddDoctor(firstName, secondName);
                hospital.AddDepartment(departament);
                hospital.AddPatient(fullName, departament, patient);

                command = Console.ReadLine();
            }

            command = Console.ReadLine();

            while (command != "End")
            {
                string[] args = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                if (args.Length == 1)
                {
                    string departmentName = args[0];

                    Department department = hospital.Departments
                                            .FirstOrDefault(x => x.Name == departmentName);

                    Console.WriteLine(department);
                }
                else if (args.Length == 2)
                {
                    bool isRoom = int.TryParse(args[1], out int targetRoom);

                    if (isRoom)
                    {
                        string departmentName = args[0];

                        Room room = hospital.Departments
                                    .FirstOrDefault(x => x.Name == departmentName).Rooms[targetRoom - 1];

                        Console.WriteLine(room);
                    }
                    else
                    {
                        string fullname = args[0] + " " + args[1];

                        Doctor doctor = hospital.Doctors.FirstOrDefault(x => x.FullName == fullname);
                        Console.WriteLine(doctor);
                    }
                }

                command = Console.ReadLine();
            }
        }