Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace AnarchyInHospital
- {
- public static class Program
- {
- static void Main(string[] args)
- {
- const string CommandFullNameSorting = "1";
- const string CommandAgeSorting = "2";
- const string CommandDiseaseSorting = "3";
- const string CommandExit = "4";
- List<Patient> patients = new List<Patient>
- {
- new Patient ("Иванов Иван Иванович", 50, "Туберкулез"),
- new Patient ("Петров Николай Владимирович", 35, "Бранхит"),
- new Patient ("Сергеев Илья Петрович", 45, "Пневмония"),
- new Patient ("Соколовский Иван Константинович", 29, "Covid-19"),
- new Patient ("Абрамов Александр Валентинович",44, "Грип"),
- new Patient ("Воробьев Александр Сергеевич", 30, "Туберкулез"),
- new Patient ("Корешков Валерий Степанович", 32, "Covid-19"),
- new Patient ("Чечеков Артем Александрович", 57, "Грип"),
- new Patient ("Крикунов Михаил Евгеньевич", 53, "Бранхит"),
- new Patient ("Зайцев Юрий Антонович", 34, "Эбола"),
- new Patient ("Ворчунов Анатолий Юрьевич", 25, "Бранхит"),
- new Patient ("Юров Антон Николаевич", 36, "Грип"),
- new Patient ("Козлов Михаил Александрович", 70, "Covid-19"),
- };
- SearchEngine searchEngine = new SearchEngine(patients);
- bool isWork = true;
- while (isWork)
- {
- Console.WriteLine("\nПанель поиска:\n");
- Console.WriteLine($"{CommandFullNameSorting} - сортировать пациентов по имени");
- Console.WriteLine($"{CommandAgeSorting} - сортировать пациентов по возрасту");
- Console.WriteLine($"{CommandDiseaseSorting} - сортировать пациентов по заболеванию");
- Console.WriteLine($"{CommandExit} - выход из программы");
- string userInpun = Console.ReadLine();
- switch (userInpun)
- {
- case CommandFullNameSorting:
- searchEngine.ShowByFullName();
- break;
- case CommandAgeSorting:
- searchEngine.ShowByAge();
- break;
- case CommandDiseaseSorting:
- searchEngine.ShowByDisease();
- break;
- case CommandExit:
- isWork = false;
- break;
- default:
- Console.WriteLine("\nНеверный ввод команды\n");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- class Patient
- {
- public Patient(string fullName, int age, string disease)
- {
- FullName = fullName;
- Disease = disease;
- Age = age;
- }
- public string FullName { get; private set; }
- public int Age { get; private set; }
- public string Disease { get; private set; }
- public void ShowInfo()
- {
- Console.WriteLine($"ФИО: {FullName}, Возраст: {Age}, Заболевание: {Disease}");
- }
- }
- class SearchEngine
- {
- private List<Patient> _patients;
- public SearchEngine(List<Patient> patients)
- {
- _patients = patients;
- }
- public void ShowByFullName()
- {
- var sortedPatients = _patients.OrderBy(patient => patient.FullName);
- ShowPatients(sortedPatients);
- }
- public void ShowByAge()
- {
- var sortedPatients = _patients.OrderBy(patient => patient.Age);
- ShowPatients(sortedPatients);
- }
- public void ShowByDisease()
- {
- Console.WriteLine("\nВведите искомую болезнь:\n");
- string userInput = Console.ReadLine();
- var sortedPatients = _patients.Where(patient => patient.Disease.ToLower() == userInput.ToLower());
- if (sortedPatients.Any())
- {
- ShowPatients(sortedPatients);
- }
- else
- {
- Console.WriteLine("\nПациент с такой болезнью не найден\n");
- }
- }
- private void ShowPatients(IEnumerable<Patient> sortedPatients)
- {
- foreach (var patient in sortedPatients)
- {
- patient.ShowInfo();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement