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 "GoToCfgAccForm": var caf = new CfgAccForm(Convert.ToInt64(call.Value)); await this.NavigateTo(caf); break; case "GoToAddAccForm": PromptDialog pd = new PromptDialog( "Введите токен аккаунта\n" + "(Можно получить тут https://vkhost.github.io/)"); pd.Closed += async(s, en) => { ModelScoutAPI.Models.VkAcc vkAcc; vkAcc = await api.CreateVkAcc(pd.Value); if (vkAcc == null) { this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm; await this.Device.Send("Аккаунт не был добавлен. Проверьте токен"); } else { this.DeleteMode = TelegramBotBase.Enums.eDeleteMode.OnLeavingForm; await this.Device.Send($"Был добавлен аккаунт {vkAcc.FirstName} {vkAcc.LastName}"); } }; await this.OpenModal(pd); break; case "GoToStartForm": var alf = new StartForm(); 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); int id; switch (call.Method) { case "AcceptClient": if (Int32.TryParse(call.Value, out id)) { await api.SetClientAccepted(id); } break; case "DeclineClient": if (Int32.TryParse(call.Value, out id)) { await api.SetClientDeclined(id); } break; case "NextSample": message.Handled = false; break; case "GoToStartForm": var sf = new StartForm(); await this.NavigateTo(sf); break; default: message.Handled = false; break; } }