Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 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);

            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;
            }
        }