Удален лишний уровень вложенности при добавлении кнопок с данными обратного вызова и изменено название кнопки "Назад" на "Назад" с указанием на панель администратора. Также улучшено форматирование и структура кода для кнопок статуса, что повысило читаемость и удобство поддержки.
Обновлён текст сообщения с "Панель администратора:" на "Панель администраторов:".
Изменены условия фильтрации статуса отчетов в запросах к базе данных с 'Завершена' на 'закрыта'.
Внесены изменения в класс `Program` в файле `Program.cs`:
- Реализована обработка команды "admin_panel" для проверки прав администратора.
- Добавлена команда "view_archived_reports" с аналогичной проверкой.
- Обновлена клавиатура в методе `SendMainMenu`, добавлена кнопка для панели администратора.
- Создан новый метод `ViewArchivedReports` для просмотра завершенных заявок.
- Обновлен метод `ViewReports` для исключения завершенных заявок из списка.
- Упрощен код в методе `UpdateReportStatus`, убран лишний блок `try-catch`.
Изменен метод удаления заявки в классе `Program`. Теперь результат отправки сообщения об успешном удалении сохраняется в переменной `deletionMessage`, добавлена пауза в 2 секунды перед удалением этого сообщения. Также добавлен вызов метода `ViewReports` для отображения списка заявок после удаления.
Добавлен новый метод `SendMainMenu` для отображения главного меню бота.
Добавлена обработка команды удаления заявки с помощью метода `DeleteReport`, который удаляет заявку из базы данных и отправляет уведомление пользователю. В интерфейсе добавлена кнопка "❌ Удалить заявку". Изменена команда вставки новой заявки для сохранения статуса как 'ожидает'. Также реализован метод `CreateDatabaseIfNotExists` для проверки и создания базы данных при необходимости.
Изменены сообщения для пользователей в классе Program:
- Вместо текстовых уведомлений теперь используются кнопки с клавиатурой "Главное меню" для случаев, когда пользователь не является администратором, а также для авторизации и неверного пароля.
- Добавлен новый метод `SendMainMenu` для отправки главного меню пользователю.
Добавлены методы для удаления сообщений и улучшена логика
В класс `Program` добавлен метод `DeletePreviousMessage` для удаления предыдущих сообщений в чате с логированием.
Изменена логика в `HandleUpdateAsync` для более безопасной обработки нажатий на кнопки, добавлена проверка на `null` для переменной `data`.
Обновлена обработка статусов отчетов с использованием идентификатора сообщения из `callbackQuery`, что улучшает читаемость кода.
Также изменен способ создания клавиатуры для отправки сообщений, что делает код более компактным.
Улучшено форматирование и добавлен метод обновления статуса
Внесены изменения в форматирование массива кнопок в `InlineKeyboardMarkup` для улучшения читаемости. Изменен порядок аргументов в методе `EditMessageText`. Добавлен новый метод `UpdateReportStatus` для обновления статуса отчета с обработкой исключений и подключением к базе данных SQLite.