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