Beispiel #1
0
        private async Task CaptureLeadComplete(IDialogContext context, IAwaitable <SuggesetionArticle> result)
        {
            var activity = (context.Activity as Activity);

            SuggesetionArticle order = null;

            try
            {
                order = await result;
            }
            catch (OperationCanceledException)
            {
                await context.PostAsync("You canceled the form!");

                return;
            }

            if (order != null)
            {
                await context.PostAsync("Ok, enviado, obrigado pela sugestão , lembre-se pode digitar **ajuda** \n" +
                                        "Posso ajudar em algo mais ?");

                await Services.Email.SendEmail("Sugestão de Artigo", order.ToString());
            }
            else
            {
                await context.PostAsync("Form returned empty response!");
            }

            context.Wait(MessageReceived);
        }
Beispiel #2
0
        public async Task RequestQuoteForm(IDialogContext context, LuisResult result)
        {
            var activity    = (context.Activity as Activity);
            var capLeadForm = new SuggesetionArticle();
            var entities    = new List <EntityRecommendation>(result.Entities);

            var form = new FormDialog <SuggesetionArticle>(capLeadForm, SuggesetionArticle.BuildForm, FormOptions.PromptInStart, entities);

            context.Call <SuggesetionArticle>(form, CaptureLeadComplete);

            //await Conversation.SendAsync(activity, () => Chain.From(() => FormDialog.FromForm(() => CaptureLead.BuildForm(), FormOptions.PromptFieldsWithValues)));
        }