private async Task <DialogTurnResult> SetConfirmarDatos(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            stepContext.Values["nu_area"] = Convert.ToString(stepContext.Result);
            stepContext.Values["no_area"] = Convert.ToString(stepContext.Result);

            // Obtiene la información del contribuyente
            ContribuyenteClient contribuyenteClient = new ContribuyenteClient();
            var result = contribuyenteClient.GetAsync(Globales.id_contribuyente, Globales.no_token);

            if (result.error_number == 0)
            {
                stepContext.Values["no_contribuyente"]           = result.Data.no_contribuyente;
                stepContext.Values["co_tipo_persona"]            = result.Data.co_tipo_persona;
                stepContext.Values["no_tipo_persona"]            = result.Data.no_tipo_persona;
                stepContext.Values["co_documento_identidad"]     = result.Data.co_documento_identidad;
                stepContext.Values["nu_documento_identidad"]     = result.Data.nu_documento_identidad;
                stepContext.Values["nu_telefono"]                = result.Data.nu_telefono;
                stepContext.Values["no_direccion_contribuyente"] = result.Data.no_direccion;
                stepContext.Values["no_correo_electronico"]      = result.Data.no_correo_electronico;

                var dataJson = JsonConvert.SerializeObject(stepContext.Values);

                // Mostrar Información ingresada
                AdaptiveCardList adaptiveCardLicencia = new AdaptiveCardList();
                var nameCard = adaptiveCardLicencia.CreateAttachment(6, dataJson);
                await stepContext.Context.SendActivityAsync(MessageFactory.Attachment(nameCard), cancellationToken);

                await Task.Delay(500);

                // Mostrar Opciones
                string[] ListOptions = new string[]
                {
                    "Confirmar Información", "Rechazar Información",
                };

                var options = ListOptions.ToList();

                var promptOptions = new PromptOptions
                {
                    Prompt  = MessageFactory.Text("Por favor revisa la información que has ingresado y luego selecciona una opción:"),
                    Choices = ChoiceFactory.ToChoices(options),
                    Style   = ListStyle.List
                };

                return(await stepContext.PromptAsync(nameof(ChoicePrompt), promptOptions, cancellationToken));
            }
            else
            {
                await Task.Delay(500);

                await stepContext.Context.SendActivityAsync(MessageFactory.Text(result.error_message), cancellationToken);

                return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
            }
        }
Пример #2
0
        private async Task <DialogTurnResult> EndDialog(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var stepContextResult = stepContext.Result.ToString();

            JObject InfoCard = JObject.Parse(stepContextResult);
            string  id       = (string)InfoCard["id"];

            if (id == "LoginCardAceptar")
            {
                string co_documento_identidad = (string)InfoCard["cboTipoDocumento"];
                string nu_documento_identidad = (string)InfoCard["txtNumeroDocumento"];
                string no_contrasena          = Funciones.GetSHA256(InfoCard["txtContrasena"].ToString());

                ContribuyenteClient contribuyenteClient = new ContribuyenteClient();
                var result = contribuyenteClient.GetLoginAsync(Globales.id_empresa, co_documento_identidad, nu_documento_identidad, no_contrasena);

                if (result.error_number == 0)
                {
                    Globales.OnSesion         = true;
                    Globales.id_contribuyente = result.Data.id_contribuyente;
                    Globales.no_contribuyente = result.Data.no_contribuyente;

                    await stepContext.Context.SendActivityAsync(MenuBot.Buttons(0, $"Hola {Globales.no_contribuyente}, en que te puedo ayudar?"), cancellationToken);
                }
                else
                {
                    Globales.OnSesion         = false;
                    Globales.id_contribuyente = 0;
                    Globales.no_token         = string.Empty;
                    Globales.no_contribuyente = string.Empty;

                    await stepContext.Context.SendActivityAsync(MenuBot.Buttons(0, $"{result.error_message}"), cancellationToken);
                }
            }
            else
            {
                await stepContext.Context.SendActivityAsync(MenuBot.Buttons(0, ""), cancellationToken);
            }

            /*
             *          var promptOptions = new PromptOptions
             *          {
             *              Prompt = MessageFactory.Text(value)
             *          };
             *          return await stepContext.PromptAsync(nameof(TextPrompt), promptOptions, cancellationToken);
             */
            //await stepContext.Context.SendActivityAsync(MenuBot.Buttons(0, ""), cancellationToken);
            //return await stepContext.EndDialogAsync(cancellationToken: cancellationToken);

            //await stepContext.Context.SendActivityAsync($"INPUT: {stepContext.Result}");
            return(await stepContext.NextAsync());
        }