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