Exemple #1
0
        public InlineKeyboardMarkup GetMarkup(InlineButtonValue callbackValue = InlineButtonValue.Default)
        {
            switch (callbackValue)
            {
            case InlineButtonValue.Back:
                return(GetDefaultMarkup());

            case InlineButtonValue.Other:
                return(GetDetailedDesignMarkup());

            case InlineButtonValue.AboutDesign:
            case InlineButtonValue.FullReading:
            case InlineButtonValue.BasicReading:
            case InlineButtonValue.DesignForChildren:
            case InlineButtonValue.LoveComposite:
            case InlineButtonValue.BusinessPartnerComposite:
            case InlineButtonValue.CompositeWithABaby:
            case InlineButtonValue.FamilyComposite:
                return(GetPreOrderMarkup());

            case InlineButtonValue.IWantToOrder:
                return(GetPostOrderMarkup());

            default:
                return(GetDefaultMarkup());
            }
        }
Exemple #2
0
        public string GetDescriptionText(InlineButtonValue callbackValue = InlineButtonValue.Default)
        {
            switch (callbackValue)
            {
            case InlineButtonValue.AboutDesign:
                return(DESIGN);

            case InlineButtonValue.FullReading:
                return(FULL_READING);

            case InlineButtonValue.BasicReading:
                return(BASIC_READING);

            case InlineButtonValue.DesignForChildren:
                return(DESIGN_FOR_CHILDREN);

            case InlineButtonValue.LoveComposite:
                return(LOVE_COMPOSITE);

            case InlineButtonValue.BusinessPartnerComposite:
                return(BUSINESS_PARTNER_COMPOSITE);

            case InlineButtonValue.CompositeWithABaby:
                return(COMPOSITE_WITH_A_BABY);

            case InlineButtonValue.FamilyComposite:
                return(FAMILY_COMPOSITE);

            case InlineButtonValue.IWantToOrder:
                return(PAYMENT_INFO);

            default:
                return("");
            }
        }
Exemple #3
0
        public bool IsInlineButtonsUpdateQuery(InlineButtonValue callbackValue = InlineButtonValue.Default)
        {
            switch (callbackValue)
            {
            case InlineButtonValue.Back:
                return(true);

            case InlineButtonValue.Other:
                return(true);

            case InlineButtonValue.AboutDesign:
            case InlineButtonValue.FullReading:
            case InlineButtonValue.BasicReading:
            case InlineButtonValue.DesignForChildren:
            case InlineButtonValue.LoveComposite:
            case InlineButtonValue.BusinessPartnerComposite:
            case InlineButtonValue.CompositeWithABaby:
            case InlineButtonValue.FamilyComposite:
                return(false);

            case InlineButtonValue.IWantToOrder:
                return(true);

            case InlineButtonValue.IHavePaid:
                return(false);

            default:
                return(true);
            }
        }
Exemple #4
0
        private async Task <Message> ProcessCallbackQueryAsync(Telegram.Bot.ITelegramBotClient client, long chatId, int messageId, InlineButtonValue callbackButtonValue)
        {
            var descriptionText = _descriptionTextService.GetDescriptionText(callbackButtonValue);
            var queryButtonText = _inlineMarkupService.GetButtonText(callbackButtonValue);
            var inlineKeyboard  = _inlineMarkupService.GetMarkup(callbackButtonValue);
            var defaultText     = "Что вам интересно?";

            if (callbackButtonValue == InlineButtonValue.IWantToOrder)
            {
                await client.EditMessageReplyMarkupAsync(chatId, messageId, null);

                return(await client.SendTextMessageAsync(chatId, descriptionText, replyMarkup : inlineKeyboard));
            }

            if (callbackButtonValue == InlineButtonValue.IHavePaid)
            {
                await client.EditMessageReplyMarkupAsync(chatId, messageId, null);

                await client.SendTextMessageAsync(chatId, "Спасибо! Теперь свяжитель с Еленой для того чтобы выбрать удобное для вас время.");

                await Task.Delay(2000);

                return(await client.SendTextMessageAsync(chatId, "Отправьте команду /info если хотите увидеть доступные опции снова."));
            }

            var text = string.IsNullOrEmpty(descriptionText) ? defaultText : $"_{queryButtonText}_\n{descriptionText}";

            return(await client.EditMessageTextAsync(
                       chatId,
                       messageId,
                       text,
                       ParseMode.Markdown,
                       replyMarkup : inlineKeyboard
                       ));
        }