Update FormBase.cs
- making more basic methods virtual for easiert overriding - adding existing control check to AddControl method
This commit is contained in:
parent
a00aaacbfb
commit
264a998052
@ -180,7 +180,7 @@ namespace TelegramBotBase.Form
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="message"></param>
|
/// <param name="message"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task LoadControls(MessageResult message)
|
public virtual async Task LoadControls(MessageResult message)
|
||||||
{
|
{
|
||||||
//Looking for the control by id, if not listened, raise event for all
|
//Looking for the control by id, if not listened, raise event for all
|
||||||
if (message.RawData?.StartsWith("#c") ?? false)
|
if (message.RawData?.StartsWith("#c") ?? false)
|
||||||
@ -228,7 +228,7 @@ namespace TelegramBotBase.Form
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="message"></param>
|
/// <param name="message"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task ActionControls(MessageResult message)
|
public virtual async Task ActionControls(MessageResult message)
|
||||||
{
|
{
|
||||||
//Looking for the control by id, if not listened, raise event for all
|
//Looking for the control by id, if not listened, raise event for all
|
||||||
if (message.RawData.StartsWith("#c"))
|
if (message.RawData.StartsWith("#c"))
|
||||||
@ -278,7 +278,7 @@ namespace TelegramBotBase.Form
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="message"></param>
|
/// <param name="message"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task RenderControls(MessageResult message)
|
public virtual async Task RenderControls(MessageResult message)
|
||||||
{
|
{
|
||||||
foreach (var b in this.Controls)
|
foreach (var b in this.Controls)
|
||||||
{
|
{
|
||||||
@ -400,6 +400,10 @@ namespace TelegramBotBase.Form
|
|||||||
/// <param name="control"></param>
|
/// <param name="control"></param>
|
||||||
public void AddControl(ControlBase control)
|
public void AddControl(ControlBase control)
|
||||||
{
|
{
|
||||||
|
//Duplicate check
|
||||||
|
if (this.Controls.Contains(control))
|
||||||
|
throw new ArgumentException("Control has been already added.");
|
||||||
|
|
||||||
control.ID = this.Controls.Count + 1;
|
control.ID = this.Controls.Count + 1;
|
||||||
control.Device = this.Device;
|
control.Device = this.Device;
|
||||||
this.Controls.Add(control);
|
this.Controls.Add(control);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user