public override async Task Execute(Message message, TelegramBotClient botClient, Microsoft.Extensions.Configuration.IConfiguration configuration) { var chatId = message.Chat.Id; using (var db = new DbNorthwind()) { var query = await db.LastQuery .FirstOrDefaultAsync(w => w.ChatId == chatId.ToString()); if (query != null) { if (query.IsWatching == 1) { ReplyKeyboardMarkup ReplyKeyboard = new[] { new [] { "Помощь", "Поиск по категориям" } }; ReplyKeyboard.ResizeKeyboard = true; query.IsWatching = 0; await db.UpdateAsync(query); await botClient.SendTextMessageAsync(chatId, $"Автоматические уведомления по запрсу \"{query.Query}\" были отключены.\nМожете делать новые запросы", replyMarkup : ReplyKeyboard); } } } }
public override async Task Execute(Message message, TelegramBotClient botClient, Microsoft.Extensions.Configuration.IConfiguration configuration) { await AddInQueryAsync(message.Chat.Id.ToString(), message.Text); using (var db = new DbNorthwind()) { var chatId = message.Chat.Id; var query = await db.LastQuery .FirstOrDefaultAsync(w => w.ChatId == chatId.ToString()); if (query != null) { if (query.IsWatching == 1) { query.IsWatching = 0; await db.UpdateAsync(query); await botClient.SendTextMessageAsync(chatId, $"Уведомления по старому запросу \"{query.Query}\" были отключены"); } } var queryListAnd = message.Text.ToLower().Split(" и ").ToList(); var queryListOr = message.Text.ToLower().Split(" или ").ToList(); Console.WriteLine(chatId); var categoryName = ""; categoryName = (await db.Chats.FirstOrDefaultAsync(f => f.ChatId == chatId.ToString())).CategorySearch; var reslist = new List <WeaponList>(); if (queryListAnd.Count == queryListOr.Count) { reslist = await GetQuery(false, false, new List <string>(), message.Text, categoryName); } else if (queryListAnd.Count > queryListOr.Count) { reslist = await GetQuery(true, false, queryListAnd, message.Text, categoryName); } else { reslist = await GetQuery(false, true, queryListOr, message.Text, categoryName); } var ggg = reslist.Select(s => s.Text).Distinct() .Count(); ReplyKeyboardMarkup keyboard4 = new[] { new [] { "Показать результат", "Поиск по категориям" }, new[] { "Помощь", "Вкл.авто уведомление", } }; keyboard4.ResizeKeyboard = true; var category = (await db.Chats.FirstOrDefaultAsync(f => f.ChatId == chatId.ToString())).CategorySearch; if (ggg == 0) { ReplyKeyboardMarkup ReplyKeyboard = new[] { new[] { "Поиск по категориям", "Помощь" }, }; ReplyKeyboard.ResizeKeyboard = true; if (category.IsNullOrEmpty()) { await botClient.SendTextMessageAsync(chatId, $@"Количество найденных лотов: {ggg} Нажми «Показать результат» (в меню) либо сделай новый запрос.", replyMarkup : ReplyKeyboard); } else { await botClient.SendTextMessageAsync(chatId, $@"Количество найденных лотов: {ggg} Нажми «Показать результат» (в меню) либо сделай новый запрос." + Environment.NewLine + $"Поиск сделан по категории : '{category}'", replyMarkup : ReplyKeyboard); } } else { ReplyKeyboardMarkup ReplyKeyboard = new[] { new[] { "Показать результат" }, new[] { "Поиск по категориям", "Помощь" }, }; ReplyKeyboard.ResizeKeyboard = true; if (category.IsNullOrEmpty()) { await botClient.SendTextMessageAsync(chatId, $@"Количество найденных лотов: {ggg} Нажми «Показать результат» (в меню) либо сделай новый запрос.", replyMarkup : ReplyKeyboard); } else { await botClient.SendTextMessageAsync(chatId, $@"Количество найденных лотов: {ggg} Нажми «Показать результат» (в меню) либо сделай новый запрос." + Environment.NewLine + $"Поиск сделан по категории : '{category}'", replyMarkup : ReplyKeyboard); } } await AddQuery(chatId.ToString(), message.Text, reslist); } }