private async Task OpenWorkbookFormComplete(IDialogContext context, IAwaitable <OpenWorkbookForm> result)
        {
            OpenWorkbookForm form = null;

            try
            {
                form = await result;
            }
            catch
            {
                await context.PostAsync("You canceled opening a workbook. No problem! I can move on to something else");

                return;
            }

            if (form != null)
            {
                // Get access token to see if user is authenticated
                ServicesHelper.AccessToken = await GetAccessToken(context);

                // Open workbook
                await WorkbookWorker.DoOpenWorkbookAsync(context, form.WorkbookName);
            }
            else
            {
                await context.PostAsync("Sorry, something went wrong (form is empty)");
            }
            context.Wait(MessageReceived);
        }
        private async Task OpenWorkbook_FormComplete(IDialogContext context, IAwaitable <OpenWorkbookForm> result)
        {
            OpenWorkbookForm form = null;

            try
            {
                form = await result;
            }
            catch
            {
            }

            if (form != null)
            {
                // Get access token to see if user is authenticated
                ServicesHelper.AccessToken = await GetAccessToken(context);

                // Open the workbook
                await WorkbookWorker.DoOpenWorkbookAsync(context, form.WorkbookName);

                context.Done <bool>(true);
            }
            else
            {
                await context.PostAsync("Okay! I will just sit tight until you tell me which workbook we should work with");

                context.Done <bool>(false);
            }
        }
 public async Task AfterConfirm_GetActiveWorkbook(IDialogContext context, IAwaitable <bool> result)
 {
     if (await result)
     {
         await WorkbookWorker.DoGetActiveWorkbookAsync(context);
     }
     context.Wait(MessageReceived);
 }
        public async Task GetActiveWorkbook(IDialogContext context, LuisResult result)
        {
            // Telemetry
            TelemetryHelper.TrackDialog(context, result, "Workbooks", "GetActiveWorkbook");

            string workbookId = String.Empty;

            context.UserData.TryGetValue <string>("WorkbookId", out workbookId);

            if ((workbookId != null) && (workbookId != String.Empty))
            {
                await WorkbookWorker.DoGetActiveWorkbookAsync(context);

                context.Wait(MessageReceived);
            }
            else
            {
                context.Call <bool>(new ConfirmOpenWorkbookDialog(), AfterConfirm_GetActiveWorkbook);
            }
        }