public async Task ProcessFindQuery(ChatId chatId, FindQuery query) { _saveManager.Load(); List <Record> records = _saveManager.Data .Where(r => r.DateTime.Date >= query.From) .Where(r => r.DateTime.Date <= query.To) .ToList(); if (query.Tags.Any()) { records = records.Where(r => r.Tags.Any(t => query.Tags.Contains(t))).ToList(); } if (records.Any()) { foreach (Record record in records) { await _bot.Client.ForwardMessageAsync(chatId, record.ChatId, record.MessageId); } } else { await _bot.Client.SendTextMessageAsync(chatId, "Я не нашёл таких записей."); } }
public static bool TryParseFindQuery(string text, out FindQuery query) { query = ParseFindQuery(text); return(query != null); }