Задание:
Приложение по получению информации о странах. Нужно сделать приложение, в котором пользователь по введенной стране будет получать по ней информацию (Название, Код страны, Столица, Площадь, Население, Регион). Как вариант можно использовать https://restcountries.eu/ либо другое API на ваш вкус. Требования к заданию:
- При запуске приложения должно быть 2 функциональности на выбор пользователя: Ввод названия страны; вывод всех стран с БД. После ввода страны должно выдать информацию о стране (Название, Код страны, Столица, Площадь, Население, Регион) либо если страна не найдена выдать об этом сообщение.
- Далее выдать предложение пользователю сохранить информацию в базу (MS SQL). Если пользователь отказывается - не сохранять. a. В БД должно быть 3 таблицы: Регионы(Id - идентификатор, Название - строка), Города(Id - идентификатор, Название - строка), Страны – (Id - идентификатор, Название – строка, Код страны – строка, Столица – идентификатор с таблицы Города, площадь – дробное число, Население – целое число, Регион – идентификатор с таблицы Регионы) b. Алгоритм добавления, следующий: i. проверяем наличие Столицы в таблице Города, если найдена, то берем её идентификатор, если нет, то добавляем; ii. проверяем наличие Региона в таблице Регионов, если найден, то берем его идентификатор, если нет, то добавляем; iii. Проверяем наличие Страны в таблице стран по коду страны, если страна не найдена – добавляем с идентификаторами, полученными выше, если найдена обновляем значения.
- При выборе вывода всех стран БД должен вывестись список всех стран в БД со следующими полями: Название, Код страны, Столица, Площадь, Население, Регион. Прошу обратить внимание, что Столицу и Регион тут нужно выводить название. Требования к приложению:
- Реализация на C#. Варианты реализации произвольные.
- Получение информации по введенной стране через стороннее API.
- Должен максимально соответствовать принципам SOLID .(https://metanit.com/sharp/patterns/5.1.php).
- Нужно реализовать обработку ошибок.
- Библиотека для работы с БД на ваше усмотрение.
- Должен работать с БД MS SQL.
- Удобно редактируемый конфиг с подключением к БД внутри приложения.
- Читабельный код. (https://blogs.msdn.microsoft.com/brada/2005/01/26/internal-coding-guidelines/) После выполнения кандидат должен предоставить проект Visual Studio и бэкап БД в архиве либо ссылку на проект в Git (в котором тоже будет включен бэкап базы MS SQL в формате .bak).
Для подключения к базе данных открываем файл App.config и заменяем путь к серверу в connection string.