using System;
namespace LINQ_02
{
internal class Program
{
static void Main(string[] args)
{
Prison prison = new Prison();
prison.ShowPrisoners();
Console.WriteLine();
prison.ApplyAmnesty("Антиправительственное");
Console.WriteLine();
prison.ShowPrisoners();
}
}
public class Prisoner
{
public Prisoner(string lastName, string firstName, string parentName, string crime)
{
LastName = lastName;
FirstName = firstName;
ParentName = parentName;
Crime = crime;
}
public string LastName { get; }
public string FirstName { get; }
public string ParentName { get; }
public string Crime { get; }
public override string ToString()
{
return $"ФИО: {LastName} {FirstName} {ParentName}, Преступление: {Crime})";
}
}
class Prison
{
private List<Prisoner> _prisoners = new List<Prisoner>()
{
new Prisoner("Петров", "Петр", "Петрович", "Убийство"),
new Prisoner("Сидоров", "Алексей", "Сергеевич", "Антиправительственное"),
new Prisoner("Смирнов", "Дмитрий", "Олегович", "Грабеж"),
new Prisoner("Кузнецов", "Максим", "Владимирович", "Хулиганство"),
new Prisoner("Попов", "Сергей", "Андреевич", "Воровство"),
new Prisoner("Васильев", "Антон", "Павлович", "Разбой"),
new Prisoner("Михайлов", "Олег", "Николаевич", "Финансовые махинации"),
new Prisoner("Федоров", "Николай", "Дмитриевич", "Угон автомобиля"),
new Prisoner("Соколов", "Егор", "Михайлович", "Нанесение тяжких телесных"),
new Prisoner("Новиков", "Андрей", "Игоревич", "Антиправительственное"),
new Prisoner("Морозов", "Владимир", "Викторович", "Убийство по неосторожности"),
new Prisoner("Волков", "Александр", "Юрьевич", "Антиправительственное"),
new Prisoner("Лебедев", "Константин", "Александрович", "Воровство"),
new Prisoner("Семенов", "Павел", "Иванович", "Клевета"),
new Prisoner("Голубев", "Артем", "Сергеевич", "Антиправительственное"),
new Prisoner("Виноградов", "Роман", "Евгеньевич", "Сбыт наркотиков"),
new Prisoner("Богданов", "Илья", "Валерьевич", "Грабеж"),
new Prisoner("Воробьев", "Максим", "Петрович", "Вандализм"),
new Prisoner("Козлов", "Олег", "Анатольевич", "Контрабанда"),
new Prisoner("Зайцев", "Игорь", "Степанович", "Антиправительственное")
};
public void ShowPrisoners()
{
foreach (var item in _prisoners)
{
Console.WriteLine(item);
}
}
public void ApplyAmnesty(string crime)
{
_prisoners.RemoveAll(prisoner => string.Equals(prisoner.Crime, crime, StringComparison.OrdinalIgnoreCase));
}
}
}