Exemplo n.º 1
0
        private async Task <DialogTurnResult> ObligationVmsStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var details = (ChatbotDetails)stepContext.Values["details"];
            var handler = new AzureHandler(details.User.Tenant, details.User.TokenResponse.Token);
            var choice  = (FoundChoice)stepContext.Result;

            if (choice.Value == "Alle VMs")
            {
                return(await stepContext.NextAsync(details, cancellationToken));
            }
            else
            {
                details.OnlyObligationVms     = true;
                stepContext.Values["details"] = details;
                var landscapeObligationToStartList = handler.GetObligationVmsForLandscapeTagAsList(details.LandscapeTag);
                if (landscapeObligationToStartList.Count > 0)
                {
                    var message = "Folgende VMs sind von dir als notwendig hinterlegt worden:";
                    foreach (var vm in landscapeObligationToStartList)
                    {
                        message = message + Environment.NewLine + vm;
                    }
                    message = message + Environment.NewLine + "Soll diese Auswahl erweitert oder eingegrenzt werden?";
                    var promptMessage = MessageFactory.Text(message, message, InputHints.ExpectingInput);
                    return(await stepContext.PromptAsync(nameof(ConfirmPrompt), new PromptOptions()
                    {
                        Prompt = promptMessage
                    }, cancellationToken));
                }
                else
                {
                    return(await stepContext.BeginDialogAsync(nameof(SetObligationVmsForLandscapeDialog), details, cancellationToken));
                }
            }
        }
Exemplo n.º 2
0
        private async Task <DialogTurnResult> CheckForObligationVmsStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var details = (ChatbotDetails)stepContext.Values["details"];
            var handler = new AzureHandler(details.User.Tenant, details.User.TokenResponse.Token);
            var choice  = (FoundChoice)stepContext.Result;

            if (choice.Value == "Alle VMs")
            {
                return(await stepContext.NextAsync(details, cancellationToken));
            }
            else
            {
                details.OnlyObligationVms     = true;
                stepContext.Values["details"] = details;

                var landscapeObligationToStartList = handler.GetObligationVmsForLandscapeTagAsList(details.LandscapeTag);
                if (landscapeObligationToStartList.Count > 0)
                {
                    var message = "Folgende VMs sind als notwendig hinterlegt worden:";
                    foreach (var vm in landscapeObligationToStartList)
                    {
                        message = message + Environment.NewLine + vm;
                    }
                    message = message + Environment.NewLine + "Falls diese Auswahl nicht stimmen sollte, muss dies umkonfiguriert werden";
                    var promptMessage = MessageFactory.Text(message, message, InputHints.ExpectingInput);
                    return(await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions()
                    {
                        Prompt = promptMessage
                    }, cancellationToken));
                }
                else
                {
                    var message = "Für diese Landschaft existiert keine Konfiguration für notwenige VMs. Solange die Konfiguration nicht existiert, werden alle VMs der Landschaft gestartet.";
                    await stepContext.Context.SendActivityAsync(MessageFactory.Text(message, message, InputHints.IgnoringInput), cancellationToken);

                    return(await stepContext.NextAsync(details, cancellationToken));
                }
            }
        }