RedFlys

Home work - amnesty

Jan 21st, 2022 (edited)
701
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Home_Work
  8. {
  9.     class Program
  10.     {
  11.         static void Main()
  12.         {
  13.             Database database = new Database();
  14.             database.Work();
  15.         }
  16.     }
  17.  
  18.     class Database
  19.     {
  20.         private List<Prisoner> _prisoners;
  21.  
  22.         public Database()
  23.         {
  24.             _prisoners = new List<Prisoner>();
  25.             Fill();
  26.         }
  27.  
  28.         public void Work()
  29.         {
  30.             Console.WriteLine("Заключённые в тюрьме: ");
  31.             ShowPrisoners();
  32.            
  33.             Amnesty();
  34.            
  35.             Console.WriteLine("\nВ тюрьме остались:");
  36.             ShowPrisoners();
  37.  
  38.             Console.ReadKey();
  39.             Console.Clear();
  40.            
  41.         }
  42.  
  43.         private void Amnesty()
  44.         {
  45.             Console.WriteLine($"\nВ государстве провели амнистию и заключённые с преступлением {Crime.Antigovernment} выпущены на свободу.");
  46.  
  47.             _prisoners = _prisoners.Where(prisoner => prisoner.Crime != Crime.Antigovernment).ToList();
  48.         }
  49.  
  50.         private void ShowPrisoners()
  51.         {
  52.             foreach (Prisoner prisoner in _prisoners)
  53.             {
  54.                 prisoner.ShowInfo();
  55.             }
  56.         }
  57.  
  58.         private void Fill()
  59.         {
  60.             _prisoners.Add(new Prisoner("Черёмушко Алексей Алексеевич", (Crime)0));
  61.             _prisoners.Add(new Prisoner("Чер Дмитрий Алексеевич", (Crime)0));
  62.             _prisoners.Add(new Prisoner("Альанах Алексей Дмитриевич", (Crime)1));
  63.             _prisoners.Add(new Prisoner("Вассерман Анатолий Акашанович", (Crime)2));
  64.             _prisoners.Add(new Prisoner("Шерлок Ди Холмс", (Crime)0));
  65.             _prisoners.Add(new Prisoner("Макуночи Но Ипо", (Crime)1));
  66.             _prisoners.Add(new Prisoner("Грозный Иван Васильевич", (Crime)1));
  67.             _prisoners.Add(new Prisoner("Борн Дмитрий Анатольевич", (Crime)0));
  68.             _prisoners.Add(new Prisoner("Навальный Владимир Владиславович", (Crime)2));
  69.             _prisoners.Add(new Prisoner("Евпатий Калодратий", (Crime)0));
  70.             _prisoners.Add(new Prisoner("Никто", (Crime)1));
  71.             _prisoners.Add(new Prisoner("Андерсон Джон Викторович", (Crime)0));
  72.             _prisoners.Add(new Prisoner("Самураев Душнила Тёмович", (Crime)2));
  73.         }
  74.     }
  75.  
  76.     class Prisoner
  77.     {
  78.         private string _fullName;
  79.         private Crime _crime;
  80.  
  81.         public Prisoner(string fullName, Crime crime)
  82.         {
  83.             _fullName = fullName;
  84.             _crime = crime;
  85.         }
  86.  
  87.         public Crime Crime => _crime;
  88.  
  89.         public void ShowInfo()
  90.         {
  91.             Console.WriteLine($"{_fullName}. Преступление: {_crime}.");
  92.         }
  93.     }
  94.  
  95.     enum Crime
  96.     {
  97.         Antigovernment,
  98.         Murder,
  99.         Theft
  100.     }
  101. }
RAW Paste Data Copied