/// <summary> /// Query response /// </summary> /// <param name="context"></param> /// <param name="result"></param> /// <returns></returns> private async Task OnQueryResponseSelected(IDialogContext context, IAwaitable <string> result) { Trace.TraceInformation("AppAuthDialog::OnSubOptionSelected"); string query = await result; UserProfile userInfo = context.ConversationData.GetValue <UserProfile>(UserSessionDataKey); userInfo.Query = query; context.ConversationData.SetValue <UserProfile>(UserSessionDataKey, userInfo); if (query == "No") { IFarmingOperations ihro = ServiceLocator.GetFarmingOperations(); ihro.UpdateQueries(userInfo.Name, userInfo.EMail, userInfo.Query, string.Empty); await context.PostAsync($"Thanks " + userInfo.Name + " for contacting us. Our expert team will reach you shortly."); context.Done <object>(null); } else { PromptDialog.Attachment(context, OnUploadImageResponse, "Please upload any images / media files for your query. "); } }
/// <summary> /// To upload image responses from user. /// </summary> /// <param name="context"></param> /// <param name="result"></param> /// <returns></returns> private async Task OnUploadImageResponse(IDialogContext context, IAwaitable <IEnumerable <Attachment> > result) { var attachments = await result; UserProfile userInfo = context.ConversationData.GetValue <UserProfile>(UserSessionDataKey); IFarmingOperations ihro = ServiceLocator.GetFarmingOperations(); foreach (var attachment in attachments) { ihro.UpdateQueries(userInfo.Name, userInfo.EMail, userInfo.Query, attachment.ContentUrl); } await context.PostAsync($"Thanks " + userInfo.Name + " for contacting us. Our expert team will reach you shortly."); context.Done <object>(null); }