Система учёта выдачи и возврата книг на c# и wpf
задача:
Необходимо создать систему учёта выдачи и возврата библиотечных книг.
В данной системе хранятся справочники о книгах, которые выдаются, их авторах, жанрах и издательствах, сотрудниках библиотеки, выдающих книги, и читателях, которым выдаются книги.
Важно: библиотека хранит информацию о читателях в виде читательских билетов, содержащих фамилию, имя, отчество (при наличии), возраст, номер телефона, адрес электронной почты.
У всех записей справочников есть идентификационный номер, который не отображается в системе, при этом этот номер должен быть неизменяемым и, если запись может исчезнуть из справочника, недоступным.
Необходимо оформить хранение справочников в текстовых файлах, с разделителем '#' и их представление в системе в виде таблиц. Также стоит учесть, что можно добавлять, изменять и удалять записи всех таблично представленных справочников в системе и что все изменения должны быть сохранены при окончании изменения данных справочников.
Учесть просмотр записей справочников в отдельных окнах и связных записей, если запись одного справочника связана с записью другого, в виде таблиц.
Учёт выдачи происходит через журнал выдачи/возврата книг в формате «<Номер билета>#<Номер книги>#<ISBN>#<Номер сотрудника>#<Выдача/Возврат>».
Необходимо оформить два отчёта: «Самые популярные книги и минимально популярные книги» и «Рейтинг сотрудников». Отчёты формируются по объёму выдачи и объёму возврата книг.
Создать тесты для системы:
- чтение файлов;
- запись файлов;
- изменение файлов;
- добавление записи (в таблицу);
- изменение записи (в таблице);
- удаление записи (из таблицы);
- создание отчётов (по отдельности).
Создать меню навигации, в котором можно открывать справочники и генераторы отчётов.
Примечание:
1. При закрытии приложения должно отображаться диалоговое окно с подтверждением выхода из программы.
2. Необходимо добавить диалоговые окна при добавлении, редактировании и удалении данных ("Вы уверены, что хотите сохранить изменения?"