- updating namespaces in test project

- adding chat splitter to testproject to allow single chat and group chat examples at the same time
This commit is contained in:
FlorianDahn 2019-11-23 02:44:05 +01:00
parent 6ebdd9f208
commit 0ceab58059
21 changed files with 224 additions and 179 deletions

View File

@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden // Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind. // die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("TelegramBaseTest")] [assembly: AssemblyTitle("TelegramBotBaseTest")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TelegramBaseTest")] [assembly: AssemblyProduct("TelegramBotBaseTest")]
[assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class ButtonTestForm : AutoCleanForm public class ButtonTestForm : AutoCleanForm
{ {
@ -62,7 +62,7 @@ namespace TelegramBaseTest.Tests
case "back": case "back":
var st = new Start(); var st = new Menu();
await this.NavigateTo(st); await this.NavigateTo(st);

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Controls; using TelegramBotBase.Controls;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Controls namespace TelegramBotBaseTest.Tests.Controls
{ {
public class ButtonGridForm : AutoCleanForm public class ButtonGridForm : AutoCleanForm
{ {
@ -50,7 +50,7 @@ namespace TelegramBaseTest.Tests.Controls
if (e.Button.Value == "back") if (e.Button.Value == "back")
{ {
var start = new Start(); var start = new Menu();
await this.NavigateTo(start); await this.NavigateTo(start);
} }
else if (e.Button.Value == "switch") else if (e.Button.Value == "switch")

View File

@ -8,7 +8,7 @@ using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
using TelegramBotBase.Controls; using TelegramBotBase.Controls;
namespace TelegramBaseTest.Tests.Controls namespace TelegramBotBaseTest.Tests.Controls
{ {
public class CalendarPickerForm : AutoCleanForm public class CalendarPickerForm : AutoCleanForm
{ {
@ -39,7 +39,7 @@ namespace TelegramBaseTest.Tests.Controls
{ {
case "back": case "back":
var s = new Start(); var s = new Menu();
await this.NavigateTo(s); await this.NavigateTo(s);

View File

@ -8,7 +8,7 @@ using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
using TelegramBotBase.Controls; using TelegramBotBase.Controls;
namespace TelegramBaseTest.Tests.Controls namespace TelegramBotBaseTest.Tests.Controls
{ {
public class MonthPickerForm : AutoCleanForm public class MonthPickerForm : AutoCleanForm
{ {
@ -38,7 +38,7 @@ namespace TelegramBaseTest.Tests.Controls
{ {
case "back": case "back":
var s = new Start(); var s = new Menu();
await this.NavigateTo(s); await this.NavigateTo(s);

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Controls; using TelegramBotBase.Controls;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Controls namespace TelegramBotBaseTest.Tests.Controls
{ {
public class ToggleButtons : AutoCleanForm public class ToggleButtons : AutoCleanForm
{ {

View File

@ -7,7 +7,7 @@ using TelegramBotBase.Form;
using TelegramBotBase.Controls; using TelegramBotBase.Controls;
using TelegramBotBase.Base; using TelegramBotBase.Base;
namespace TelegramBaseTest.Tests.Controls namespace TelegramBotBaseTest.Tests.Controls
{ {
public class TreeViewForms : AutoCleanForm public class TreeViewForms : AutoCleanForm
{ {
@ -60,7 +60,7 @@ namespace TelegramBaseTest.Tests.Controls
message.Handled = true; message.Handled = true;
var start = new Start(); var start = new Menu();
await this.NavigateTo(start); await this.NavigateTo(start);

View File

@ -9,7 +9,7 @@ using Telegram.Bot.Types.ReplyMarkups;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class DataForm : AutoCleanForm public class DataForm : AutoCleanForm
{ {
@ -110,7 +110,7 @@ namespace TelegramBaseTest.Tests
message.Handled = true; message.Handled = true;
var start = new Start(); var start = new Menu();
await this.NavigateTo(start); await this.NavigateTo(start);

View File

@ -0,0 +1,183 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TelegramBotBase.Base;
using TelegramBotBase.Form;
namespace TelegramBotBaseTest.Tests
{
public class Menu : AutoCleanForm
{
public Menu()
{
this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm;
}
public override async Task Load(MessageResult message)
{
if (message.Message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Group | message.Message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Supergroup)
{
var sf = new TelegramBotBaseTest.Tests.Groups.WelcomeUser();
await this.NavigateTo(sf);
}
}
public override async Task Action(MessageResult message)
{
var call = message.GetData<CallbackData>();
await message.ConfirmAction();
if (call == null)
return;
switch(call.Value)
{
case "text":
var sf = new SimpleForm();
await this.NavigateTo(sf);
break;
case "buttons":
var bf = new ButtonTestForm();
await this.NavigateTo(bf);
break;
case "progress":
var pf = new ProgressTest();
await this.NavigateTo(pf);
break;
case "registration":
var reg = new Register.Start();
await this.NavigateTo(reg);
break;
case "form1":
var form1 = new TestForm();
await this.NavigateTo(form1);
break;
case "form2":
var form2 = new TestForm2();
await this.NavigateTo(form2);
break;
case "data":
message.Handled = true;
var data = new DataForm();
await this.NavigateTo(data);
break;
case "calendar":
message.Handled = true;
var calendar = new Controls.CalendarPickerForm();
await this.NavigateTo(calendar);
break;
case "month":
message.Handled = true;
var month = new Controls.MonthPickerForm();
await this.NavigateTo(month);
break;
case "treeview":
message.Handled = true;
var tree = new Controls.TreeViewForms();
await this.NavigateTo(tree);
break;
case "togglebuttons":
message.Handled = true;
var tb = new Controls.ToggleButtons();
await this.NavigateTo(tb);
break;
case "buttongrid":
message.Handled = true;
var bg = new Controls.ButtonGridForm();
await this.NavigateTo(bg);
break;
}
}
public override async Task Render(MessageResult message)
{
ButtonForm btn = new ButtonForm();
btn.AddButtonRow(new ButtonBase("#1 Simple Text", new CallbackData("a", "text").Serialize()), new ButtonBase("#2 Button Test", new CallbackData("a", "buttons").Serialize()));
btn.AddButtonRow(new ButtonBase("#3 Progress Bar", new CallbackData("a", "progress").Serialize()));
btn.AddButtonRow(new ButtonBase("#4 Registration Example", new CallbackData("a", "registration").Serialize()));
btn.AddButtonRow(new ButtonBase("#5 Form1 Command", new CallbackData("a", "form1").Serialize()));
btn.AddButtonRow(new ButtonBase("#6 Form2 Command", new CallbackData("a", "form2").Serialize()));
btn.AddButtonRow(new ButtonBase("#7 Data Handling", new CallbackData("a", "data").Serialize()));
btn.AddButtonRow(new ButtonBase("#8 Calendar Picker", new CallbackData("a", "calendar").Serialize()));
btn.AddButtonRow(new ButtonBase("#9 Month Picker", new CallbackData("a", "month").Serialize()));
btn.AddButtonRow(new ButtonBase("#10 TreeView", new CallbackData("a", "treeview").Serialize()));
btn.AddButtonRow(new ButtonBase("#11 ToggleButtons", new CallbackData("a", "togglebuttons").Serialize()));
btn.AddButtonRow(new ButtonBase("#12 ButtonGrid", new CallbackData("a", "buttongrid").Serialize()));
await this.Device.Send("Choose your test:", btn);
}
}
}

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class ProgressTest : AutoCleanForm public class ProgressTest : AutoCleanForm
{ {
@ -76,7 +76,7 @@ namespace TelegramBaseTest.Tests
case "start": case "start":
var sf = new Start(); var sf = new Menu();
await this.NavigateTo(sf); await this.NavigateTo(sf);

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register namespace TelegramBotBaseTest.Tests.Register
{ {
public class PerForm : AutoCleanForm public class PerForm : AutoCleanForm
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register namespace TelegramBotBaseTest.Tests.Register
{ {
public class PerStep: AutoCleanForm public class PerStep: AutoCleanForm
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register namespace TelegramBotBaseTest.Tests.Register
{ {
public class Start : AutoCleanForm public class Start : AutoCleanForm
{ {
@ -43,7 +43,7 @@ namespace TelegramBaseTest.Tests.Register
break; break;
case "backtodashboard": case "backtodashboard":
var start = new Tests.Start(); var start = new Tests.Menu();
await this.NavigateTo(start); await this.NavigateTo(start);

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace TelegramBaseTest.Tests.Register.Steps namespace TelegramBotBaseTest.Tests.Register.Steps
{ {
public class Data public class Data
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register.Steps namespace TelegramBotBaseTest.Tests.Register.Steps
{ {
public class Step1 : AutoCleanForm public class Step1 : AutoCleanForm
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register.Steps namespace TelegramBotBaseTest.Tests.Register.Steps
{ {
public class Step2 : AutoCleanForm public class Step2 : AutoCleanForm
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests.Register.Steps namespace TelegramBotBaseTest.Tests.Register.Steps
{ {
public class Step3 : AutoCleanForm public class Step3 : AutoCleanForm
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class SimpleForm : AutoCleanForm public class SimpleForm : AutoCleanForm
{ {
@ -55,7 +55,7 @@ namespace TelegramBaseTest.Tests
case "back": case "back":
var st = new Start(); var st = new Menu();
await this.NavigateTo(st); await this.NavigateTo(st);

View File

@ -1,167 +1,29 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class Start : AutoCleanForm public class Start : SplitterForm
{ {
public Start() public override async Task<bool> Open(MessageResult e)
{ {
this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm; var st = new Menu();
} await this.NavigateTo(st);
public override async Task Action(MessageResult message) return true;
{
var call = message.GetData<CallbackData>();
await message.ConfirmAction();
if (call == null)
return;
switch(call.Value)
{
case "text":
var sf = new SimpleForm();
await this.NavigateTo(sf);
break;
case "buttons":
var bf = new ButtonTestForm();
await this.NavigateTo(bf);
break;
case "progress":
var pf = new ProgressTest();
await this.NavigateTo(pf);
break;
case "registration":
var reg = new Register.Start();
await this.NavigateTo(reg);
break;
case "form1":
var form1 = new TestForm();
await this.NavigateTo(form1);
break;
case "form2":
var form2 = new TestForm2();
await this.NavigateTo(form2);
break;
case "data":
message.Handled = true;
var data = new DataForm();
await this.NavigateTo(data);
break;
case "calendar":
message.Handled = true;
var calendar = new Controls.CalendarPickerForm();
await this.NavigateTo(calendar);
break;
case "month":
message.Handled = true;
var month = new Controls.MonthPickerForm();
await this.NavigateTo(month);
break;
case "treeview":
message.Handled = true;
var tree = new Controls.TreeViewForms();
await this.NavigateTo(tree);
break;
case "togglebuttons":
message.Handled = true;
var tb = new Controls.ToggleButtons();
await this.NavigateTo(tb);
break;
case "buttongrid":
message.Handled = true;
var bg = new Controls.ButtonGridForm();
await this.NavigateTo(bg);
break;
} }
} public override async Task<bool> OpenGroup(MessageResult e)
public override async Task Render(MessageResult message)
{ {
var st = new Groups.LinkReplaceTest();
await this.NavigateTo(st);
ButtonForm btn = new ButtonForm(); return true;
btn.AddButtonRow(new ButtonBase("#1 Simple Text", new CallbackData("a", "text").Serialize()), new ButtonBase("#2 Button Test", new CallbackData("a", "buttons").Serialize()));
btn.AddButtonRow(new ButtonBase("#3 Progress Bar", new CallbackData("a", "progress").Serialize()));
btn.AddButtonRow(new ButtonBase("#4 Registration Example", new CallbackData("a", "registration").Serialize()));
btn.AddButtonRow(new ButtonBase("#5 Form1 Command", new CallbackData("a", "form1").Serialize()));
btn.AddButtonRow(new ButtonBase("#6 Form2 Command", new CallbackData("a", "form2").Serialize()));
btn.AddButtonRow(new ButtonBase("#7 Data Handling", new CallbackData("a", "data").Serialize()));
btn.AddButtonRow(new ButtonBase("#8 Calendar Picker", new CallbackData("a", "calendar").Serialize()));
btn.AddButtonRow(new ButtonBase("#9 Month Picker", new CallbackData("a", "month").Serialize()));
btn.AddButtonRow(new ButtonBase("#10 TreeView", new CallbackData("a", "treeview").Serialize()));
btn.AddButtonRow(new ButtonBase("#11 ToggleButtons", new CallbackData("a", "togglebuttons").Serialize()));
btn.AddButtonRow(new ButtonBase("#12 ButtonGrid", new CallbackData("a", "buttongrid").Serialize()));
await this.Device.Send("Choose your test:", btn);
} }

View File

@ -7,7 +7,7 @@ using Telegram.Bot.Types;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class TestForm : FormBase public class TestForm : FormBase
{ {

View File

@ -10,7 +10,7 @@ using Telegram.Bot.Types.ReplyMarkups;
using TelegramBotBase.Base; using TelegramBotBase.Base;
using TelegramBotBase.Form; using TelegramBotBase.Form;
namespace TelegramBaseTest.Tests namespace TelegramBotBaseTest.Tests
{ {
public class TestForm2 : FormBase public class TestForm2 : FormBase
{ {