удаление всех заявок сразу

This commit is contained in:
Professional 2025-03-19 23:28:19 +07:00
parent 7864b1ae30
commit 7a3608d773

View File

@ -298,6 +298,48 @@ class Program
await SendMainMenu(botClient, chatId);
}
}
else if (data == "delete_all_reports")
{
if (admins.Contains(chatId))
{
var confirmKeyboard = new InlineKeyboardMarkup(new[]
{
new[]
{
InlineKeyboardButton.WithCallbackData("✅ Подтвердить", "confirm_delete_all_reports"),
InlineKeyboardButton.WithCallbackData("❌ Отмена", "admin_panel")
}
});
await botClient.SendMessage(
chatId: chatId,
text: "Вы уверены, что хотите удалить все заявки? Это действие необратимо.",
replyMarkup: confirmKeyboard
);
}
else
{
await botClient.SendMessage(chatId, "⛔ У вас нет прав для удаления всех заявок!");
await Task.Delay(2000);
await SendMainMenu(botClient, chatId);
}
}
else if (data == "confirm_delete_all_reports")
{
if (admins.Contains(chatId))
{
await DeleteAllReports(botClient, chatId);
}
else
{
await botClient.SendMessage(chatId, "⛔ У вас нет прав для удаления всех заявок!");
await Task.Delay(2000);
await SendMainMenu(botClient, chatId);
}
}
else if (data != null && data.StartsWith("report_"))
{
long reportId = long.Parse(data.Substring(7));
@ -467,6 +509,36 @@ class Program
}
}
private static async Task DeleteAllReports(ITelegramBotClient botClient, long chatId)
{
try
{
using (var connection = new SqliteConnection("Data Source=bot.db"))
{
await connection.OpenAsync();
var command = connection.CreateCommand();
command.CommandText = "DELETE FROM Reports";
await command.ExecuteNonQueryAsync();
var deletionMessage = await botClient.SendMessage(chatId, "Все заявки успешно удалены.");
Log.Information($"Все заявки удалены пользователем {chatId}.");
// Ждем 2 секунды
await Task.Delay(2000);
// Удаляем сообщение об удалении
await botClient.DeleteMessage(chatId, deletionMessage.MessageId);
// Возвращаемся к панели администратора
await SendAdminPanel(botClient, chatId);
}
}
catch (Exception ex)
{
Log.Error($"Ошибка при удалении всех заявок: {ex.Message}");
await botClient.SendMessage(chatId, "Ошибка при удалении всех заявок.");
}
}
private static async Task DeleteReport(ITelegramBotClient botClient, long chatId, long reportId)
@ -540,6 +612,10 @@ class Program
InlineKeyboardButton.WithCallbackData("⚙️ Управление администраторами", "admin_settings")
},
new[]
{
InlineKeyboardButton.WithCallbackData("❌ Удалить все заявки", "delete_all_reports")
},
new[]
{
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
}
@ -554,6 +630,7 @@ class Program
}
private static async Task ViewReports(ITelegramBotClient botClient, long chatId)
{
string connectionString = "Data Source=bot.db";