# Модуль № 4: Осуществление интеграции программных модулей ## Текст задания Для проверки данных от клиентов разработайте приложение, которое позволит провести валидацию на корректность данных. Результат проверки необходимо фиксировать в документе [ТестКейс.docx](./ТестКейс.docx). Сначала заполните в документе `ТестКейс.docx` столбец "Действие" и "Ожидаемый результат" используя предоставленный текстовый редактор. Добавьте закладки в столбец "Результат". Необходимо провести валидацию ФИО клиента на вхождение запрещенных символов. Проверьте два любых критерия. ~~Для эмуляции отправки данных от клиента Вам необходимо запустить приложение `TransferSimulator.exe`.~~ Методы эмулятора описаны в файле [api_info.pdf](./api_info.pdf). Я написал простенький эмулятор на питоне [server.py](../solution/server.py). Возвращается ФИО в которое случайным образом добавляется "мусор". Макет формы представлен на рисунке. ![](../solution/module4_01.png) При нажатии на кнопку "Получить данные" данные загружаются с эмулятора и отображаются на форме. После нажатия на кнопку "Отправить результат теста" происходит проверка данных по заполненному шаблону, и результат проверки отображается на форме и в соответствующей строке таблицы в столбце "Результат". **Важно**: Разрабатывать API Вам не нужно. Используйте предоставленный API. Необходимые приложения (находятся в каталоге `data` этого репозитория): `api_info.pdf`,`TransferSimulator.exe`, `ТестКейс.docx`, `Требования к разработке.pdf`, `Настройка ПК для эмулятора.pdf` ## Решение Задание, ИМХО, написано криво. Своими словами: Вы должны написать оконное приложение с двумя кнопками (скрин есть выше). При клике на кнопку "Получить данные" вы должны получить данные из АПИ (http сервер прилагается) и показать полученные данные в окне (справа от кнопки). При клике на кнопку "Отправить результаты теста" Вы должны вызвать **свой** метод проверки и результат проверки вывести справа от кнопки. Потом руками переписать полученные данные в приложенный файл `ТестКейс.docx`. 1. Получение данных из АПИ Код взят из чата "как есть", надо проверить ```cs // обработчик клика на кнопку private void GetFIOFromApi(object sender, RoutedEventArgs e) { HttpClient client = new HttpClient(); var body = client.GetAsync("http://localhost:4444").Result; JObject jObject = JObject.parse(body); FullNameTextButton.Text = JObject["value"].ToString(); } ``` 1. Проверка валидности ФИО Вариантов может быть несколько: либо создать массив запрещённых символов и перебрать их в цикле сравнив с ФИО из предыдущего пункта, либо написать регулярку Сделайте самостоятельно