예제 #1
0
        private static void Main(string[] args)
        {
            Console.WriteLine("CLINÍCA MÉDICA");
            _medicalClinic = new MedicalClinic();
            _menuItems     = GetMenuItems();

            while (true)
            {
                ImprimirMenuItems(_menuItems);
                var option = ConsoleExtensions.ReadLine <int>("", (i) =>
                {
                    if (i < 0 || i > _menuItems.Count())
                    {
                        throw new InvalidOperationException();
                    }
                });

                if (option == 0)
                {
                    break;
                }

                Executar(option);

                Console.WriteLine("Pressione qualquer tecla para continuar...");
                Console.ReadKey();
            }
        }
예제 #2
0
        //Solicita valores de data e especialidade do médico ao usuário, chama método de buscar consultas na clínica, itera sobre os resultados e imprime
        private static void GetMedicalAppointments()
        {
            Console.WriteLine();

            var day = ConsoleExtensions.ReadLine <int>("Digite o dia da data que deseja pesquisar:", d =>
            {
                if (d < 0 || d > 31)
                {
                    throw new InvalidOperationException();
                }
            });

            var month = ConsoleExtensions.ReadLine <int>("Digite o mês da data que deseja pesquisar:", d =>
            {
                if (d < 0 || d > 12)
                {
                    throw new InvalidOperationException();
                }
            });

            var year = ConsoleExtensions.ReadLine <int>("Digite o ano da data que deseja pesquisar:", d =>
            {
                if (d < 0 || d > 2300)
                {
                    throw new InvalidOperationException();
                }
            });

            var date = new DateTime(year, month, day);

            Console.WriteLine("Especialidades médicas:");
            Console.WriteLine($"0 - {MedicalSpecialty.Urologist.GetDescription()}");
            Console.WriteLine($"1 - {MedicalSpecialty.GeneralClinic.GetDescription()}");
            Console.WriteLine($"2 - {MedicalSpecialty.Otorhinolaryngology.GetDescription()}");
            Console.WriteLine($"3 - {MedicalSpecialty.Orthopedy.GetDescription()}");
            Console.WriteLine($"4 - {MedicalSpecialty.Anesthesiologist.GetDescription()}");
            Console.WriteLine($"5 - {MedicalSpecialty.Dermatologist.GetDescription()}");
            Console.WriteLine($"6 - {MedicalSpecialty.Gynecologist.GetDescription()}");
            Console.WriteLine($"7 - {MedicalSpecialty.Neurologist.GetDescription()}");
            Console.WriteLine($"8 - {MedicalSpecialty.Pedriatrician.GetDescription()}");
            Console.WriteLine($"9 - {MedicalSpecialty.Surgeon.GetDescription()}");
            var code = ConsoleExtensions.ReadLine <int>("Digite o código da especialidade médica: ", (c) =>
            {
                if (c < 0 || c > 9)
                {
                    throw new InvalidOperationException();
                }
            });

            MedicalSpecialty medicalSpecialty = (MedicalSpecialty)code;

            var medicalAppointments = _medicalClinic.GetMedicalAppointments(date, medicalSpecialty);

            foreach (var ma in medicalAppointments)
            {
                Console.WriteLine(ma.ToString());
            }
        }
예제 #3
0
        //Carrega arquivo dado um path, lê todas as linhas do arquivo e retorna as mesmas para serem tratadas em seus respectivos métodos
        private static IEnumerable <string> LoadFromFile()
        {
            Console.WriteLine();
            Console.WriteLine();

            var path = ConsoleExtensions.ReadLine <string>("Digite o caminho do arquivo:", p =>
            {
                if (!File.Exists(p))
                {
                    Console.WriteLine("Arquivo não existe");
                    throw new InvalidOperationException();
                }
            });

            try
            {
                return(File.ReadAllLines(path, Encoding.UTF8));
            }
            catch (UnauthorizedAccessException)
            {
                throw new UnauthorizedAccessException("Você não tem permissão de acesso a esse arquivo.");
            }
        }