Ejemplo n.º 1
0
        public static void PerformAnswer(Message message, ITelegramBotClient client, Participant participant)
        {
            var chatId    = message.Chat.Id;
            var messageId = message.MessageId;
            //Здесь нужно получить список броней на алиасе запросившего за эту неделю,
            //После чего вывести инлайном клавиатуру со списком броней
            //поймать колбэк запроса

            DateTime now    = DateTime.Today;
            int      daynum = BookCommand.dayOfWeekInt(now);

            DateTime weekStart = now.AddDays(-daynum);
            DateTime weekEnd   = weekStart.AddDays(+7);

            List <InlineKeyboardButton> buttons = new List <InlineKeyboardButton>();

            using (MobileContext db = new MobileContext())
            {
                var bookingsWeek = db.Bookings.Where(c => (c.Participant == participant) && (c.TimeStart > weekStart) && (c.TimeEnd < weekEnd)).OrderBy(c => c.TimeStart);
                foreach (var booking in bookingsWeek)
                {
                    string caption = dayName(booking.TimeStart.DayOfWeek) + " " + booking.TimeStart.ToString("HH:mm") + " " + booking.TimeEnd.ToString("HH:mm");
                    buttons.Add(InlineKeyboardButton.WithCallbackData(caption, "cancel" + booking.Id));
                }
            }
            InlineKeyboardMarkup reply = new InlineKeyboardMarkup(buttons);
            Message mes = client.SendTextMessageAsync(chatId, "Выберите отменяемую бронь", replyMarkup: reply).Result;
        }