From 3253dbc66f27977511303346cf920d36ba420534 Mon Sep 17 00:00:00 2001 From: 107 <107@DESKTOP-UP8U7M2> Date: Thu, 20 Mar 2025 10:09:22 +0700 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=B7=D0=B0=20=D1=82=D1=83=D0=BF=D0=BE=D0=B3=D0=BE=20=D0=98?= =?UTF-8?q?=D0=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 60 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/Program.cs b/Program.cs index cff3d7a..fcbf913 100644 --- a/Program.cs +++ b/Program.cs @@ -809,26 +809,76 @@ class Program } string adminFullName = adminId > 0 && adminFullNames.ContainsKey(adminId) - ? adminFullNames[adminId] - : "Не назначен"; + ? adminFullNames[adminId] + : "Не назначен"; string priorityEmoji = GetPriorityEmoji(priority); string statusEmoji = GetStatusEmoji(status); - // Остальной код без изменений - // ... + var statusButtons = new InlineKeyboardMarkup(new[] + { + new[] + { + InlineKeyboardButton.WithCallbackData("🟡 Ожидает", $"status_{reportId}_ожидает"), + InlineKeyboardButton.WithCallbackData("🔵 В работе", $"status_{reportId}_в работе") + }, + new[] + { + InlineKeyboardButton.WithCallbackData("🟢 Закрыта", $"status_{reportId}_закрыта") + }, + new[] + { + InlineKeyboardButton.WithCallbackData("❌ Удалить заявку", $"delete_{reportId}") + }, + new[] + { + InlineKeyboardButton.WithCallbackData("Назад", "back_to_list"), + InlineKeyboardButton.WithCallbackData("Главное меню", "main_menu") + } + }); + + string newText = $"Заявка #{reportId}\n\n" + + $"Приоритет: {priorityEmoji} {priority}\n" + + $"Кабинет: {room}\n" + + $"Описание: {description}\n" + + $"ФИО: {reporterName}\n" + + $"Статус: {statusEmoji} {status}\n" + + $"Дата создания: {dateCreated}\n" + + $"Администратор: {adminFullName}"; + + await botClient.SendMessage( + chatId: chatId, + text: newText, + replyMarkup: statusButtons + ); + } + else + { + // Если заявка не найдена + await botClient.SendMessage( + chatId: chatId, + text: $"⚠️ Заявка #{reportId} не найдена!" + ); + Log.Warning($"Заявка #{reportId} не найдена при попытке просмотра деталей."); + await Task.Delay(2000); + await ViewReports(botClient, chatId); } } } } catch (Exception ex) { - Log.Error($"Ошибка: {ex.Message}"); + Log.Error($"Ошибка при отображении деталей заявки #{reportId}: {ex.Message}"); + await botClient.SendMessage( + chatId: chatId, + text: $"Произошла ошибка при загрузке заявки #{reportId}." + ); } } + // Метод для удаления администратора из базы данных private static async Task RemoveAdminFromDatabase(long chatId) {