DocsVision_Test
Система регистрации писем
Решение Registration состоит из следующих проектов:
- Registration.Api - обработка http-запросов
- Registration.DataInterface - интерфейс взаимодействия с БД
- Registration.DataInterface.Sql - реализация интерфейса взаимодействия с БД
- Registration.DataInterface.sql.Test - unit тесты
- Registration.Logger - логирование
- Registration.Model - классы основных сущностей
- Registrstion.WinForms - пользовательский интерфейс
Registration.Api содержит в себе два класса LetterController и WorkerController, в которых описаны методы, позволяющие обработать http-запросы:
- Добавить письмо в БД
- Получить имя отправителя
- Поличить список имен получателей
- Получить упорядоченный список писем (по дате, по названию, по имени отправителя)
- Удалить письмо
- Изменить текст письма, название письма, отправителя и спосок получателей
- Добавить нового сотрудника в БД
- Получить сотрудника по логину
- Получить список всех сотрудников
Registration.DataInterface содержит описание интерфейса работы с БД (ILetter интерфейс для писем и IWorker для сотрудников). Интерфейс включает в себя все функции, для которых описаны http-запросы.
Registration.DataInterface.Sql содержит реализацию интерфейса Registration.DataInterface.
Registration.DataInterface.sql.Test содержит unit тесты для проверки корректной функциональности методов работы с БД.
Registration.Model содержит два класса: Letter и User.
Письмо (Letter) имеет следующие атрибуты:
- id
- название
- текст
- дата регистрации/изменения
- id отправителя
- список id получателей
Пользователь (User) имеет следующие атрибуты:
- id
- логин (должен быть уникальным)
- имя
Registrstion.WinForms реализует пользовательский интерфейс. Содержит стартовую форму Registration из которой можно попасть на формы:
- AddLetters позволяет зарегистрировать новое письмо
- ShowAllLetters - просмотр всех писем. При выборе письма отображается само письмо и есть возможность изменить или удалить его из БД.
Если при добавлении нового письма указан не существующий в БД сотрудник, то система предложит добавить его в БД.