Skip to content

kresmonkking/OTUS-delegates

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Прием документов для заявления

Цель и результат задания

В этом ДЗ пишем библиотеку .NET Standard, пишем асинхронный код с помощью подписки на события, используем события классов .NET, добавляем свои события в класс. Такое ДЗ тренирует навык работы обработки событий, создания своих событий и знакомит с понятием асинхронности кода на примере событий.

Постановка

Заявитель загружает в директорию targetDirectory комплект документов для подачи заявления (названия и расширения файлов должны строго соблюдаться):

  • "Паспорт.jpg"
  • "Заявление.txt"
  • "Фото.jpg" Когда все 3 файла появляются в указанной директории DocumentsReceiver уведомляет о том, что все документы готовы с помощью события DocumentsReady и останавливает дальнейший прием документов. Если пользователь не загрузил документы за время waitingInterval, то дальнейший прием документов останавливается и DocumentsReceiver уведомляет о превышении ожидания с помощью события TimedOut.

Необходимо создать библиотеку .NET Standard, которая содержит класс DocumentsReceiver. Класс имеет 2 события:

  • DocumentsReady
  • TimedOut Класс имеет метод Start с 2 параметрами:
  • путь до директории с документами targetDirectory
  • время ожидания загрузки документов waitingInterval. Метод Start начинает работу по приему документов как описано выше.

Подсказки

Использовать подписки на события классов:

  • System.IO.FileSystemWatcher
  • System.Timers.Timer Использовать свойство Interval класса System.Timers.Timer

Критерии оценивания

Создана библиотека .NET Standard и класс DocumentsReceiver (1 балл) Создан непустой метод Start с необходимыми параметрами (1 балл) Есть подписки на события классов System.IO.FileSystemWatcher и System.Timers.Timer (1 балл) Директория и интервал ожидания конфигурируются (1 балл) Есть события DocumentsReady и TimedOut и они вызывается (1 балл) Есть отписки от событий классов System.IO.FileSystemWatcher и System.Timers.Timer (1 балл) DocumentsReceiver работает правильно (4 балла)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published