public override async Task Action(MessageResult message) { var call = message.GetData <CallbackData> (); await message.ConfirmAction(); if (call == null) { return; } message.Handled = true; switch (call.Value) { case "AccListForm": var alf = new AccListForm(); await this.NavigateTo(alf); break; default: message.Handled = false; break; } }
public override async Task Action(MessageResult message) { var call = message.GetData <CallbackData> (); await message.ConfirmAction(); if (call == null) { return; } message.Handled = true; var api = await ModelScoutAPI.ModelScoutAPIPooler.GetOrCreateApi(message.DeviceId); switch (call.Method) { case "RemoveVkAcc": var vkAcc = await api.GetVkAcc(this._vkAccId); ConfirmDialog pd = new ConfirmDialog( $"Подтвердите удаление аккаунта {vkAcc.FirstName} {vkAcc.LastName}", new ButtonBase("Да, удалить", "ok"), new ButtonBase("Нет, я случайно нажала", "cancel")); Boolean Confirmed = false; pd.ButtonClicked += (s, en) => { if (en.Button.Value == "ok") { Confirmed = true; } else if (en.Button.Value == "cancel") { Confirmed = false; } }; pd.Closed += async(s, en) => { this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm; if (Confirmed) { await api.RemoveVkAcc(vkAcc); await pd.Device.Send("Аккаунт был удален."); var alf = new AccListForm(); await this.NavigateTo(alf); } else { await pd.Device.Send("Аккаунт не был удален."); } }; await this.OpenModal(pd); break; case "GoToChangeCfgAccForm": var ccaf = new ChangeCfgAccForm(_vkAccId); await this.NavigateTo(ccaf); break; case "GoToAccListForm": var alf = new AccListForm(); await this.NavigateTo(alf); break; default: message.Handled = false; break; } }