Skip to content

Nurk21/DatesTestTask1

Repository files navigation

DatesTestTask1

Решение состоит из 4 компонентов:

  • ASP.NET WebAPI сервер
  • Клиентское консольное приложение
  • БД

ASP.Net WebAPI

использует EntityFramework для работы с подключением к SQL Server. Стандартная строка подключения прописывается в файле "appsettings.Json" . По умолчанию ее вид следующий: "ConnectionStrings": { "DefaultConnection": "Data Source=LAPTOP-126LHOT8\SQLEXPRESS; Initial Catalog=DatesTestTask;Integrated Security=True" } Так же нужно поменять строку подключения к БД в проекте DataAccess\DataContext. Был использован подход code first потому нужно будет сделать миграцию для создания базы данных.

Поддерживаются запросы PUT (добавление) и POST (фильтрация по заданию) Ответы и запросы проводятся в формате JSON

Путь для доступа к API : /api/Dates/[ControllerName] https://localhost:44344/api/Dates/GetRanges/?from=2019-10-07&to=2019-10-08 - для get запроса, (?from=2019-10-07&to=2019-10-08) - параметры для запроса. Для пост запроса напрямую использовался Fiddler. Подключена автоматическая документация Swagger, и она доступна по пути https://localhost:44344/swagger/index.html В задании было указано найти именно пересечение (не совпадение или включение отрезков друг в дурга), потому правильным результатом будут выбираться только те участки, которые только одной из своих границ находятся внутри(не на границе) заданного промежутка.

Консольное приложение: Путь к API прописан в appsettings.Dev.json и выглядит следующим образом: "AppSettings": { "ServerAPI": "https://localhost:44344/api/" } Логика работы с пользователем вынесена в класс Processing. Для работы с приложением нужно запустить на дебаг API приложение, после чего запустить консольное приложение и следовать инструкциям. Формат ввода дат - ГГГГ.ММ.ДД

В базе данных одна таблица "Ranges"

Id - int - primary key From - datetime [Начальная дата] To - datetime [Конечная]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages