удаление всех заявок сразу
This commit is contained in:
parent
7864b1ae30
commit
7a3608d773
77
Program.cs
77
Program.cs
@ -298,6 +298,48 @@ class Program
|
|||||||
await SendMainMenu(botClient, chatId);
|
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_"))
|
else if (data != null && data.StartsWith("report_"))
|
||||||
{
|
{
|
||||||
long reportId = long.Parse(data.Substring(7));
|
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)
|
private static async Task DeleteReport(ITelegramBotClient botClient, long chatId, long reportId)
|
||||||
@ -540,6 +612,10 @@ class Program
|
|||||||
InlineKeyboardButton.WithCallbackData("⚙️ Управление администраторами", "admin_settings")
|
InlineKeyboardButton.WithCallbackData("⚙️ Управление администраторами", "admin_settings")
|
||||||
},
|
},
|
||||||
new[]
|
new[]
|
||||||
|
{
|
||||||
|
InlineKeyboardButton.WithCallbackData("❌ Удалить все заявки", "delete_all_reports")
|
||||||
|
},
|
||||||
|
new[]
|
||||||
{
|
{
|
||||||
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
|
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
|
||||||
}
|
}
|
||||||
@ -554,6 +630,7 @@ class Program
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static async Task ViewReports(ITelegramBotClient botClient, long chatId)
|
private static async Task ViewReports(ITelegramBotClient botClient, long chatId)
|
||||||
{
|
{
|
||||||
string connectionString = "Data Source=bot.db";
|
string connectionString = "Data Source=bot.db";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user