From 46576eb8191f2878a5c12456edee0f7f79925a0d Mon Sep 17 00:00:00 2001 From: FlorianDahn Date: Sun, 9 Aug 2020 16:59:25 +0200 Subject: [PATCH] Update ButtonForm.cs adding method to create a ButtonForm duplicate and filter the single buttons, used for ButtonGrid --- TelegramBotBase/Form/ButtonForm.cs | 34 ++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/TelegramBotBase/Form/ButtonForm.cs b/TelegramBotBase/Form/ButtonForm.cs index eca6213..048c83e 100644 --- a/TelegramBotBase/Form/ButtonForm.cs +++ b/TelegramBotBase/Form/ButtonForm.cs @@ -188,10 +188,10 @@ namespace TelegramBotBase.Form DependencyControl = this.DependencyControl }; - foreach(var b in Buttons) + foreach (var b in Buttons) { var lst = new List(); - foreach(var b2 in b) + foreach (var b2 in b) { lst.Add(b2); } @@ -200,5 +200,35 @@ namespace TelegramBotBase.Form return bf; } + + /// + /// Creates a copy of this form and filters by the parameter. + /// + /// + public ButtonForm FilterDuplicate(String filter) + { + var bf = new ButtonForm() + { + Markup = this.Markup, + DependencyControl = this.DependencyControl + }; + + foreach (var b in Buttons) + { + var lst = new List(); + foreach (var b2 in b) + { + if (b2.Text.IndexOf(filter, StringComparison.InvariantCultureIgnoreCase) == -1) + continue; + + lst.Add(b2); + } + + if (lst.Count > 0) + bf.Buttons.Add(lst); + } + + return bf; + } } }