Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ijunior
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Hospital hospital = new Hospital();
- hospital.Work();
- }
- }
- class Hospital
- {
- private Database _database = new Database();
- public void Work()
- {
- const string CommandSortByName = "1";
- const string CommandSortByAge = "2";
- const string CommandFindPatientsByDisease = "3";
- const string CommandExit = "4";
- bool isWork = true;
- while (isWork)
- {
- Console.Write($"{CommandSortByName} - отсортировать пациентов по ФИО" +
- $"\n{CommandSortByAge} - отсортировать пациентов по возрасту" +
- $"\n{CommandFindPatientsByDisease} - найти пациента по заболеванию" +
- $"\n{CommandExit} - выйти из программы" +
- $"\nВведите номер: ");
- switch (Console.ReadLine())
- {
- case CommandSortByName:
- SortByName();
- break;
- case CommandSortByAge:
- SortByAge();
- break;
- case CommandFindPatientsByDisease:
- FindPatientsByDisease();
- break;
- case CommandExit:
- isWork = false;
- break;
- default:
- Console.WriteLine("Некорректный ввод");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private void SortByName()
- {
- var sortedPatients = _database.Patients.OrderBy(patient => patient.Name).ToList();
- ShowPatients(sortedPatients);
- }
- private void SortByAge()
- {
- var sortedPatients = _database.Patients.OrderBy(patient => patient.Age).ToList();
- ShowPatients(sortedPatients);
- }
- private void FindPatientsByDisease()
- {
- Console.Write("Введите диагноз: ");
- string userInput = Console.ReadLine();
- var sortedPatients = _database.Patients.Where(patient => patient.Disease.ToLower() == userInput.ToLower()).ToList();
- if (sortedPatients.Count > 0)
- ShowPatients(sortedPatients);
- else
- Console.WriteLine("Пациентов с таким диагнозом нет");
- }
- private void ShowPatients(List<Patient> patients)
- {
- foreach (Patient patient in patients)
- {
- Console.WriteLine($"{patient.Name} - возраст {patient.Age}, диагноз: {patient.Disease}");
- }
- }
- }
- class Database
- {
- private List<Patient> _patients;
- public Database()
- {
- _patients = new List<Patient>();
- AddPatients();
- }
- public List<Patient> Patients => _patients.ToList();
- private void AddPatients()
- {
- _patients.Add(new Patient("Александров Михаил Сергеевич", "Гипертония", 30));
- _patients.Add(new Patient("Борисова Анна Андреевна", "Астма", 26));
- _patients.Add(new Patient("Васильев Николай Петрович", "Диабет", 58));
- _patients.Add(new Patient("Гусева Ольга Владимировна", "Туберкулез", 44));
- _patients.Add(new Patient("Дмитриев Иван Михайлович", "Аллергия", 42));
- _patients.Add(new Patient("Егорова Мария Викторовна", "Грипп", 20));
- _patients.Add(new Patient("Кузнецов Алексей Иванович", "Астма", 22));
- _patients.Add(new Patient("Лебедева Елена Павловна", "Диабет", 37));
- _patients.Add(new Patient("Павлов Дмитрий Алексеевич", "Туберкулез", 80));
- _patients.Add(new Patient("Соловьева Наталья Борисовна", "Туберкулез", 55));
- }
- }
- class Patient
- {
- public Patient(string name, string disease, int age)
- {
- Name = name;
- Disease = disease;
- Age = age;
- }
- public string Name { get; }
- public string Disease { get; }
- public int Age { get; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment