Beispiel #1
0
        private async Task <DialogTurnResult> SummaryStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            if ((bool)stepContext.Result)
            {
                AzureDetails.SubscriptionID = (string)stepContext.Values["Subscription ID"];
                AzureDetails.TenantID       = (string)stepContext.Values["Tenant ID"];
                AzureDetails.ClientID       = (string)stepContext.Values["Client ID"];
                AzureDetails.ClientSecret   = (string)stepContext.Values["Client Secret"];

                var msg = "Here are the details you provided:\nSubscription ID: " + AzureDetails.SubscriptionID + ", Tenant ID: " + AzureDetails.TenantID + ", ClientID: " + AzureDetails.ClientID + ", Client Secret: ****************";

                await stepContext.Context.SendActivityAsync(MessageFactory.Text(msg));

                AzureResourceManagerREST.GetAuthorizationToken();

                if (AzureDetails.AccessToken == null)
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Request failed. Access token not generated. Retry again."));
                }
                else
                {
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text("Thank you, Request is Confirmed. You are now successfully connected to Azure Services."));
                }

                return(await stepContext.EndDialogAsync(null, cancellationToken));
            }
            else
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Request Not Confirmed."));

                return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
            }
        }
        private async Task <DialogTurnResult> LUISStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            await LuisHelper.ExecuteLuisQuery(Configuration, Logger, stepContext.Context, cancellationToken);


            var intentValue = (string)stepContext.Result;


            switch (AzureDetails.Intent)
            {
            case "GetAllResourceGroupsIntent":
                AzureResourceManagerREST.getAllResourceGroupDetails().GetAwaiter().GetResult();
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Here is the details of all your resource groups:"));

                await stepContext.Context.SendActivityAsync(MessageFactory.Text(AzureDetails.Response));

                break;

            case "Cancel":
                AzureDetails.AccessToken    = null;
                AzureDetails.SubscriptionID = null;
                AzureDetails.TenantID       = null;
                AzureDetails.ClientID       = null;
                AzureDetails.ClientSecret   = null;
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("You are now successfully disconnected from Azure services. Your Azure details has been cleared."));

                break;

            case "CreateResourceGroupIntent":
                return(await stepContext.BeginDialogAsync(nameof(CreateResourceGroupDialog), new User(), cancellationToken));

            default:
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Kindly rephrase your query."));

                break;
            }

            return(await stepContext.NextAsync(null, cancellationToken));
        }
        private async Task <DialogTurnResult> SummaryStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            if ((bool)stepContext.Result)
            {
                AzureDetails.ResourceGroupName = (string)stepContext.Values["Resource Group Name"];
                AzureDetails.Location          = (string)stepContext.Values["Location"];

                AzureResourceManagerREST.createResourceGroup().GetAwaiter().GetResult();

                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Here is the response from Azure."));

                await stepContext.Context.SendActivityAsync(MessageFactory.Text(AzureDetails.Response));

                return(await stepContext.EndDialogAsync(null, cancellationToken));
            }
            else
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Request Not Confirmed."));

                return(await stepContext.EndDialogAsync(cancellationToken : cancellationToken));
            }
        }