Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace CSLight
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- PersonBase person = new PersonBase();
- person.ShowPatientsInfo();
- }
- }
- class PersonBase
- {
- private List<Person> _patients;
- public PersonBase()
- {
- GeneratePatients();
- }
- public void ShowPatientsInfo()
- {
- const string CommandSortBySurname = "1";
- const string CommandSortByAge = "2";
- const string CommandFilterByDisease = "3";
- const string CommandExit = "exit";
- bool isRunnig = true;
- while (isRunnig)
- {
- Console.WriteLine("Введите команду:");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case CommandSortBySurname:
- SortBySurname();
- break;
- case CommandSortByAge:
- SortByAge();
- break;
- case CommandFilterByDisease:
- FilterByDisease();
- break;
- case CommandExit:
- isRunnig = false;
- break;
- }
- }
- Console.ReadKey();
- }
- private void SortBySurname()
- {
- var sortedList = _patients.OrderBy(patient => patient.Surname);
- ShowList(sortedList);
- }
- private void SortByAge()
- {
- var sortedList = _patients.OrderBy(patient => patient.Age);
- ShowList(sortedList);
- }
- private void FilterByDisease()
- {
- Console.WriteLine("Какое заболевание вывести?");
- string disease = Console.ReadLine();
- Console.WriteLine($"Пациенты с {disease}");
- var filteredList = _patients.Where(patient => patient.Disiase == disease);
- ShowList(filteredList);
- }
- private void ShowList(IEnumerable<Person> list)
- {
- foreach (Person person in list)
- {
- Console.WriteLine($"{person.Surname} {person.Name} {person.Patronymic} - {person.Age} - {person.Disiase}");
- }
- }
- private void GeneratePatients()
- {
- PersonCreator creator = new PersonCreator();
- int dataBaseCapacity = 20;
- _patients = new List<Person>();
- for (int i = 0; i < dataBaseCapacity; i++)
- {
- _patients.Add(creator.CreatePerson());
- }
- }
- }
- class PersonCreator
- {
- private List<string> _names;
- private List<string> _surnames;
- private List<string> _patronymic;
- private List<string> _diseases;
- public PersonCreator()
- {
- InitNames();
- InitSurnames();
- InitPatronymics();
- InitDiseases();
- }
- public Person CreatePerson()
- {
- int maxAge = 100;
- int age = UserUtils.GenerateRandomValue(maxAge);
- string name = GetRandomValue(_names);
- string surname = GetRandomValue(_surnames);
- string patronymic = GetRandomValue(_patronymic);
- string crimeType = GetRandomValue(_diseases);
- return new Person(name, surname, patronymic, age, crimeType);
- }
- private void InitSurnames()
- {
- _surnames = new List<string>();
- _surnames.Add("Смирнов");
- _surnames.Add("Иванов");
- _surnames.Add("Кузнецов");
- _surnames.Add("Попов");
- _surnames.Add("Соколов");
- _surnames.Add("Лебедев");
- _surnames.Add("Козлов");
- _surnames.Add("Новиков");
- _surnames.Add("Морозов");
- _surnames.Add("Козлов");
- _surnames.Add("Волков");
- }
- private void InitPatronymics()
- {
- _patronymic = new List<string>();
- _patronymic.Add("Максимович");
- _patronymic.Add("Михаилович");
- _patronymic.Add("Александрович");
- _patronymic.Add("Дмитриевич");
- _patronymic.Add("Денисович");
- _patronymic.Add("Ильич");
- _patronymic.Add("Андреевич");
- _patronymic.Add("Артемович");
- _patronymic.Add("Иванович");
- _patronymic.Add("Алексеевич");
- _patronymic.Add("Никитич");
- }
- private void InitNames()
- {
- _names = new List<string>();
- _names.Add("Максим");
- _names.Add("Михаил");
- _names.Add("Александр");
- _names.Add("Дмитрий");
- _names.Add("Денис");
- _names.Add("Илья");
- _names.Add("Андрей");
- _names.Add("Артем");
- _names.Add("Иван");
- _names.Add("Алексей");
- _names.Add("Никита");
- }
- private void InitDiseases()
- {
- _diseases = new List<string>();
- _diseases.Add("Кашель");
- _diseases.Add("Температура");
- _diseases.Add("Сопли");
- }
- private string GetRandomValue(List<string> values)
- {
- int randomId = UserUtils.GenerateRandomValue(values.Count);
- return values[randomId];
- }
- }
- class Person
- {
- public Person(string name, string surname, string patronymic, int age, string disease)
- {
- Name = name;
- Surname = surname;
- Patronymic = patronymic;
- Disiase = disease;
- Age = age;
- }
- public string Name { get; private set; }
- public string Surname { get; private set; }
- public string Patronymic { get; private set; }
- public int Age { get; private set; }
- public string Disiase { get; private set; }
- }
- static class UserUtils
- {
- private static Random s_random = new Random();
- public static int GenerateRandomValue(int maxValue)
- {
- return s_random.Next(maxValue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement