Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }