Esempio n. 1
0
        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;
            }
        }