using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telegram.Bot.Types.ReplyMarkups;
namespace TelegramBotBase.Form
{
[DebuggerDisplay("{Text}, {Value}")]
///
/// Base class for button handling
///
public class ButtonBase
{
public virtual String Text { get; set; }
public String Value { get; set; }
public String Url { get; set; }
public ButtonBase()
{
}
public ButtonBase(String Text, String Value, String Url = null)
{
this.Text = Text;
this.Value = Value;
this.Url = Url;
}
///
/// Returns an inline Button
///
///
///
public virtual InlineKeyboardButton ToInlineButton(ButtonForm form)
{
String id = (form.DependencyControl != null ? form.DependencyControl.ControlID + "_" : "");
if (this.Url == null)
{
return InlineKeyboardButton.WithCallbackData(this.Text, id + this.Value);
}
var ikb = new InlineKeyboardButton(this.Text);
//ikb.Text = this.Text;
ikb.Url = this.Url;
return ikb;
}
///
/// Returns a KeyBoardButton
///
///
///
public virtual KeyboardButton ToKeyboardButton(ButtonForm form)
{
return new KeyboardButton(this.Text);
}
}
}