private static void DoOperation(int operation, IDataAccessor<Person> accessor) { switch (operation) { case 1: var people = accessor.GetAll(); if (people.Count == 0) { Console.WriteLine("Нет данных."); } else { Console.WriteLine("Получены следующие данные:"); foreach (var person in people) { Console.WriteLine(person.ToString()); } } break; case 2: Console.WriteLine("Введите идентификатор: "); int id; while (!int.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("Неверный ввод."); } var pers = accessor.GetById(id); Console.WriteLine( pers != null ? pers.ToString() : "Информации об объекте с заданным идентификатором не найдена."); break; case 3: Console.Write("Введите фамилию:"); var surname = Console.ReadLine(); Console.Write("Введите имя:"); var name = Console.ReadLine(); Console.Write("Введите отчество:"); var fatherName = Console.ReadLine(); Console.Write("Введите возраст:"); int age; while (!int.TryParse(Console.ReadLine(), out age)) { Console.WriteLine("Неверный ввод."); } while (age < 0) { Console.WriteLine("Возраст не может быть меньше 0."); } accessor.Insert(new Person(surname, name, fatherName, age)); Console.WriteLine("Информация успешно добавлена."); break; case 4: Console.WriteLine("Введите идентификатор: "); while (!int.TryParse(Console.ReadLine(), out id)) { Console.WriteLine("Неверный ввод."); } pers = accessor.GetById(id); if (pers != null) { accessor.DeleteById(id); Console.WriteLine("Информация успешно удалена."); } else { Console.WriteLine("Информации об объекте с заданным идентификатором не найдена."); } break; } }