public BookMeetingRoomDialog( BotSettings settings, BotServices services, ConversationState conversationState, LocaleTemplateEngineManager localeTemplateEngineManager, IServiceManager serviceManager, FindMeetingRoomDialog findMeetingRoomDialog, IBotTelemetryClient telemetryClient, MicrosoftAppCredentials appCredentials) : base(nameof(BookMeetingRoomDialog), settings, services, conversationState, localeTemplateEngineManager, serviceManager, telemetryClient, appCredentials) { TelemetryClient = telemetryClient; var bookMeetingRoom = new WaterfallStep[] { FindMeetingRoom, CreateMeeting }; // Define the conversation flow using a waterfall model.UpdateMeetingRoom AddDialog(new WaterfallDialog(Actions.BookMeetingRoom, bookMeetingRoom) { TelemetryClient = telemetryClient }); AddDialog(findMeetingRoomDialog ?? throw new ArgumentNullException(nameof(findMeetingRoomDialog))); // Set starting dialog for component InitialDialogId = Actions.BookMeetingRoom; }
public UpdateMeetingRoomDialog( BotSettings settings, BotServices services, ConversationState conversationState, LocaleTemplateEngineManager localeTemplateEngineManager, IServiceManager serviceManager, FindMeetingRoomDialog findMeetingRoomDialog, IBotTelemetryClient telemetryClient, MicrosoftAppCredentials appCredentials) : base(nameof(UpdateMeetingRoomDialog), settings, services, conversationState, localeTemplateEngineManager, serviceManager, telemetryClient, appCredentials) { TelemetryClient = telemetryClient; var updateMeetingRoom = new WaterfallStep[] { GetAuthToken, AfterGetAuthToken, CheckFocusedEvent, FindMeetingRoom, GetAuthToken, AfterGetAuthToken, UpdateMeetingRoom }; var findEvent = new WaterfallStep[] { SearchEventsWithEntities, GetEventsPrompt, AfterGetEventsPrompt, AddConflictFlag, ChooseEvent }; var chooseEvent = new WaterfallStep[] { ChooseEventPrompt, AfterChooseEvent }; // Define the conversation flow using a waterfall model.UpdateMeetingRoom AddDialog(new WaterfallDialog(Actions.UpdateMeetingRoom, updateMeetingRoom) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.FindEvent, findEvent) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.ChooseEvent, chooseEvent) { TelemetryClient = telemetryClient }); AddDialog(findMeetingRoomDialog ?? throw new ArgumentNullException(nameof(findMeetingRoomDialog))); // Set starting dialog for component InitialDialogId = Actions.UpdateMeetingRoom; }