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.ShowPrisonersInfo();
- }
- }
- class PersonBase
- {
- private List<Person> _prisoners;
- public PersonBase()
- {
- GeneratePrisoners();
- }
- public void ShowPrisonersInfo()
- {
- string crimeType = "Антиправительственное";
- var filteredList = _prisoners.Where(prisoner => prisoner.CrimeType == crimeType);
- Console.WriteLine("До амнистии:");
- ShowList(_prisoners);
- Console.WriteLine("После:");
- ShowList(filteredList);
- Console.ReadKey();
- }
- private void ShowList(IEnumerable<Person> list)
- {
- foreach (Person person in list)
- {
- Console.WriteLine($"{person.Surname} {person.Name} {person.Patronymic} - {person.CrimeType}");
- }
- }
- private void GeneratePrisoners()
- {
- PersonCreator creator = new PersonCreator();
- int dataBaseCapacity = 20;
- _prisoners = new List<Person>();
- for (int i = 0; i < dataBaseCapacity; i++)
- {
- _prisoners.Add(creator.CreatePerson());
- }
- }
- }
- class PersonCreator
- {
- private List<string> _names;
- private List<string> _surnames;
- private List<string> _patronymic;
- private List<string> _crimeTypes;
- public PersonCreator()
- {
- InitNames();
- InitSurnames();
- InitPatronymics();
- InitCrimeTypes();
- }
- public Person CreatePerson()
- {
- string name = GetRandomValue(_names);
- string surname = GetRandomValue(_surnames);
- string patronymic = GetRandomValue(_patronymic);
- string crimeType = GetRandomValue(_crimeTypes);
- return new Person(name, surname, patronymic, 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 InitCrimeTypes()
- {
- _crimeTypes = new List<string>();
- _crimeTypes.Add("Антиправительственное");
- _crimeTypes.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, string crimeType)
- {
- Name = name;
- Surname = surname;
- Patronymic = patronymic;
- CrimeType = crimeType;
- }
- public string Name { get; private set; }
- public string Surname { get; private set; }
- public string Patronymic { get; private set; }
- public string CrimeType { 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