From 749e808be5ae1c6db233c167b23fdb7d9a650224 Mon Sep 17 00:00:00 2001 From: Professional Date: Wed, 19 Mar 2025 23:15:18 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D1=85=D1=83=D0=B9=20=D1=8D=D1=82?= =?UTF-8?q?=D1=83=20=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D1=83,=20=D0=BF=D0=BE=D0=BF=D1=80=D0=BE=D0=B1=D1=83=D0=B5?= =?UTF-8?q?=D0=BC=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B7=D0=BD?= =?UTF-8?q?=D0=B0=D1=87=D0=BE=D0=BA=20=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 73 ++++++++++++++---------------------------------------- 1 file changed, 18 insertions(+), 55 deletions(-) diff --git a/Program.cs b/Program.cs index 1429438..b59a660 100644 --- a/Program.cs +++ b/Program.cs @@ -564,7 +564,7 @@ class Program var command = connection.CreateCommand(); command.CommandText = "SELECT Id, Description, Status, Priority FROM Reports WHERE Status != 'закрыта'"; - var reports = new List<(long Id, string Description, string Status, string Priority)>(); + var buttons = new List(); using (var reader = await command.ExecuteReaderAsync()) { @@ -574,33 +574,18 @@ class Program string description = reader.GetString(1).Substring(0, Math.Min(20, reader.GetString(1).Length)); string status = reader.GetString(2); string priority = reader.GetString(3); + string statusEmoji = GetStatusEmoji(status); + string priorityMarker = priority.ToLower() == "высокий" ? "⚠️" : ""; - reports.Add((id, description, status, priority)); + buttons.Add(new[] + { + InlineKeyboardButton.WithCallbackData( + $"{priorityMarker} #{id} - {statusEmoji} {status} - {description}...", + $"report_{id}") + }); } } - // Сортируем заявки по приоритету - var highPriorityReports = reports.Where(r => r.Priority.ToLower() == "высокий").ToList(); - var mediumPriorityReports = reports.Where(r => r.Priority.ToLower() == "средний").ToList(); - var lowPriorityReports = reports.Where(r => r.Priority.ToLower() == "низкий").ToList(); - - var sortedReports = highPriorityReports.Concat(mediumPriorityReports).Concat(lowPriorityReports).ToList(); - - var buttons = new List(); - - foreach (var report in sortedReports) - { - string statusEmoji = GetStatusEmoji(report.Status); - string priorityMarker = report.Priority.ToLower() == "высокий" ? "⚠️" : ""; - - buttons.Add(new[] - { - InlineKeyboardButton.WithCallbackData( - $"{priorityMarker} #{report.Id} - {statusEmoji} {report.Status} - {report.Description}...", - $"report_{report.Id}") - }); - } - // Добавляем кнопки навигации buttons.Add(new[] { @@ -622,13 +607,6 @@ class Program } } - - - - - - - private static async Task ViewArchivedReports(ITelegramBotClient botClient, long chatId) { string connectionString = "Data Source=bot.db"; @@ -641,7 +619,7 @@ class Program var command = connection.CreateCommand(); command.CommandText = "SELECT Id, Description, Status, Priority FROM Reports WHERE Status = 'закрыта'"; - var reports = new List<(long Id, string Description, string Status, string Priority)>(); + var buttons = new List(); using (var reader = await command.ExecuteReaderAsync()) { @@ -651,33 +629,18 @@ class Program string description = reader.GetString(1).Substring(0, Math.Min(20, reader.GetString(1).Length)); string status = reader.GetString(2); string priority = reader.GetString(3); + string statusEmoji = GetStatusEmoji(status); + string priorityMarker = priority.ToLower() == "высокий" ? "⚠️" : ""; - reports.Add((id, description, status, priority)); + buttons.Add(new[] + { + InlineKeyboardButton.WithCallbackData( + $"{priorityMarker} #{id} - {statusEmoji} {status} - {description}...", + $"report_{id}") + }); } } - // Сортируем заявки по приоритету - var highPriorityReports = reports.Where(r => r.Priority.ToLower() == "высокий").ToList(); - var mediumPriorityReports = reports.Where(r => r.Priority.ToLower() == "средний").ToList(); - var lowPriorityReports = reports.Where(r => r.Priority.ToLower() == "низкий").ToList(); - - var sortedReports = highPriorityReports.Concat(mediumPriorityReports).Concat(lowPriorityReports).ToList(); - - var buttons = new List(); - - foreach (var report in sortedReports) - { - string statusEmoji = GetStatusEmoji(report.Status); - string priorityMarker = report.Priority.ToLower() == "высокий" ? "⚠️" : ""; - - buttons.Add(new[] - { - InlineKeyboardButton.WithCallbackData( - $"{priorityMarker} #{report.Id} - {statusEmoji} {report.Status} - {report.Description}...", - $"report_{report.Id}") - }); - } - // Добавляем кнопки навигации buttons.Add(new[] {