Skip to content

Dmalkov1993/TestTask-2019-08-21

Repository files navigation

TestTask-2019-08-21

Результат выполнения тестового задания.

Кратко о задании: нужно было реализовать два REST Web Api .NET Core сервиса - сервис справочников и сервис отчетов.

Исходный текст задания в .docx документе (загрузить).

Сервис справочников - умеет предоставлять данные и метаданные для двух справочников: «Объекты строительства» и «Версии данных».

Справочники реализовал с помощью Excel файлов.

Данные забираются из Excel файлов посредством библиотеки ClosedXML.

Сервис отчётов обращается к сервису справочников и строит отчёт, в зависимости от настроек. Всего добавлено три типа настроек отчётов в appSettings.json, секция "ReportSettings":

  • Настройка с ConfigurationID = 1 это отчёт согласно заданию;
  • Настройка с ConfigurationID = 2 (справочники поменяны местами относительно Настройки с ID = 1);
  • Настройка с ConfigurationID = 3 (добавил побольше атрибутов справочников в отчёт).

Как запустить и использовать:

  1. Запустить солюшен DirectoryService\DirectoryService.sln прямо из под студии;
  • 1.1) При первом запуске нужно нажать "Yes" на вопрос о доверии к SSL сертификату;
  • 1.2) В окне запроса на установку сертификата для localhost нажать "Да".
  1. Откроется страница api\AppStart, выведется информация о считанных объектах справочников
  2. Получение данных производится следующим образом.
  1. Открыть солюшен ReportService\ReportService.sln
  2. Нажать "Запустить" (прямо из под студии). Запустится страница https://localhost:44348/api/Report/1, где 1 - ИД конфигурации отчёта из AppSettings.json.

В случае успеха, в открытом окне браузера будет показан отчёт.

О конфигурации отчётов. В appSettings.json указаны три конфигурации отчётов, с номерами 1 2 и 3. Соответственно, они доступны по следующим URL:

В солюшене сервиса отчётов есть два билдера отчётов - MockReportBuilder и TestTaskReportBuilder. Они подтягиваются через DI, в зависимости от того, какой будет зарегистрирован в Startup-е сервиса отчётов.

About

Одно из тестовых заданий, которое мне показалось интересным.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published