예제 #1
0
        //Constructor Through which the accessors get injected at the StartUp
        public BizTalkAdminBot(BizTalkAdminBotAccessors accessors, IConfiguration configuration)
        {
            //Connection Name is required to enable the Bot to connect to service providers through OAuth
            if (string.IsNullOrWhiteSpace(Constants.OAuthConnectionName))
            {
                throw new ArgumentNullException("Connection name needs to be set in the Constants class");
            }

            _accessors = accessors ?? throw new ArgumentNullException(nameof(accessors));

            _configuration = configuration ?? throw new ArgumentException(nameof(configuration));

            _storageAccountKey = _configuration["storageAccount"].ToString();

            _dialogs = new DialogSet(_accessors.ConversationDialogState);
            _dialogs.Add(DialogHelpers.OAuthPrompt(Constants.OAuthConnectionName));
            _dialogs.Add(new WaterfallDialog(Constants.RootDialogName, new WaterfallStep[] { PromptStepAsync, ProcessStepAsync }));
        }