Exemplo n.º 1
0
        public async Task Invoke(IRequest request)
        {
            var queryRequest = (IQueryRequest)request;

            var loggers = _userRepository
                          .GetAll(u => u.ChatId == request.ChatId)
                          .SelectMany(u => u.UserLoggers)
                          .Where(ua => !ua.IsSubscriber)
                          .Select(ua => ua.Logger);

            var loggersMarkup = new InlineKeyboardMarkup();

            foreach (var logger in loggers)
            {
                loggersMarkup.AddRow(
                    new InlineKeyboardButton(
                        logger.Name,
                        callbackData: $"loggerInfo:id={logger.Id}"));
            }

            await SendResponse(
                request.ChatId,
                queryRequest.MessageId,
                new LoggersMessageTemplate(loggersMarkup));
        }