Exemplo n.º 1
0
        private async Task <DialogTurnResult> TeletrabalhoStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            officeLessDetails = (OfficeLessDetails)stepContext.Options;

            if (officeLessDetails.Destination == null)
            {
                return(await stepContext.PromptAsync(nameof(ConfirmPrompt), new PromptOptions { Prompt = MessageFactory.Text("Ok " + officeLessDetails.Nome + ", fui treinado para falar sobre trabalho remoto. Podemos posseguir ?") }, cancellationToken));
            }
            else
            {
                return(await stepContext.CancelAllDialogsAsync(cancellationToken));
            }
        }
        private async Task <DialogTurnResult> ActStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var officeLessDetails = new OfficeLessDetails();

            officeLessDetails.Nome = stepContext.Result.ToString();
            if (!string.IsNullOrEmpty(officeLessDetails.Nome))
            {
                return(await stepContext.BeginDialogAsync(nameof(OfficeLessDialog), officeLessDetails, cancellationToken));
            }
            else
            {
                // User said "no" so we will skip the next step. Give -1 as the age.
                //return await stepContext.NextAsync(-1, cancellationToken);
                await stepContext.Context.SendActivityAsync(MessageFactory.Text($"Ok, infelizmente para seguir com o fluxo eu precisaria de tal informação. :-(."), cancellationToken);

                return(await stepContext.EndDialogAsync(cancellationToken));
            }
        }
Exemplo n.º 3
0
        private async Task <DialogTurnResult> ComparecerNaEmpresaStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            officeLessDetails = (OfficeLessDetails)stepContext.Options;
            if ((bool)stepContext.Result)
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Ok, vamos lá... inicialmente vamos a definição."), cancellationToken);

                await stepContext.Context.SendActivityAsync(MessageFactory.Text("O TELETRABALHO é qualquer trabalho que não seja, majoritariamente, executado nas dependências da empresa. Ou seja, é possível de ser executado na casa do colaborador, em um coffee shop, coworkings e não apenas no home office."), cancellationToken);

                var promptOptions = new PromptOptions
                {
                    Prompt = MessageFactory.Text("No teletrabalho, você acha que o colaborador pode comparecer às dependências da empresa?"),
                };

                return(await stepContext.PromptAsync(nameof(ConfirmPrompt), promptOptions, cancellationToken));
            }
            else
            {
                return(await stepContext.BeginDialogAsync(nameof(OfficeLessDialog), officeLessDetails, cancellationToken));
            }
        }