85 lines
2.1 KiB
C#
85 lines
2.1 KiB
C#
using InlineAndReplyCombination.Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using TelegramBotBase.Attributes;
|
|
using TelegramBotBase.Base;
|
|
using TelegramBotBase.Controls.Hybrid;
|
|
using TelegramBotBase.Form;
|
|
|
|
namespace InlineAndReplyCombination.Forms.Steps
|
|
{
|
|
public class Summary : AutoCleanForm
|
|
{
|
|
[SaveState]
|
|
public UserDetails? UserDetails { get; set; }
|
|
|
|
ButtonGrid? ReplyButtonGrid { get; set; }
|
|
|
|
public Summary()
|
|
{
|
|
Init += Summary_Init;
|
|
|
|
}
|
|
|
|
private Task Summary_Init(object sender, TelegramBotBase.Args.InitEventArgs e)
|
|
{
|
|
var bf = new ButtonForm();
|
|
|
|
bf.AddButtonRow("Go back", "back");
|
|
bf.AddButtonRow("Return to Start", "start");
|
|
|
|
|
|
|
|
ReplyButtonGrid = new ButtonGrid(bf);
|
|
ReplyButtonGrid.Title = "Thank you for your time!";
|
|
ReplyButtonGrid.ButtonClicked += ReplyButtonGrid_ButtonClicked;
|
|
|
|
AddControl(ReplyButtonGrid);
|
|
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public override async Task Load(MessageResult message)
|
|
{
|
|
|
|
if (UserDetails == null)
|
|
{
|
|
var sf = new StartForm();
|
|
await NavigateTo(sf);
|
|
return;
|
|
}
|
|
|
|
await Device.Send($"Your inputs are:\r\n\r\nYour age: {UserDetails.AgeRange}\r\nYour favourite color: {UserDetails.FavouriteColor}\r\nYour favourite city: {UserDetails.FavouriteCity}");
|
|
}
|
|
|
|
private async Task ReplyButtonGrid_ButtonClicked(object sender, TelegramBotBase.Args.ButtonClickedEventArgs e)
|
|
{
|
|
switch (e.Button.Value ?? "")
|
|
{
|
|
case "start":
|
|
|
|
var sf = new StartForm();
|
|
|
|
await NavigateTo(sf);
|
|
|
|
break;
|
|
|
|
case "back":
|
|
|
|
var tf = new ThirdForm();
|
|
|
|
tf.UserDetails = UserDetails;
|
|
|
|
await NavigateTo(tf);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|