public SendEmailDialog( BotSettings settings, BotServices services, ResponseManager responseManager, ConversationState conversationState, FindContactDialog findContactDialog, IServiceManager serviceManager, IBotTelemetryClient telemetryClient, MicrosoftAppCredentials appCredentials) : base(nameof(SendEmailDialog), settings, services, responseManager, conversationState, serviceManager, telemetryClient, appCredentials) { TelemetryClient = telemetryClient; var sendEmail = new WaterfallStep[] { IfClearContextStep, GetAuthToken, AfterGetAuthToken, CollectRecipient, GetMyNameAsync, CollectPlatform, CollectServer, CollectDescription, CollectText, SendEmail, }; var collectRecipients = new WaterfallStep[] { PromptRecipientCollection, GetRecipients, }; var getRecreateInfo = new WaterfallStep[] { GetRecreateInfo, AfterGetRecreateInfo, }; // Define the conversation flow using a waterfall model. AddDialog(new TextPrompt(nameof(TextPrompt))); AddDialog(new WaterfallDialog(Actions.Send, sendEmail) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.CollectRecipient, collectRecipients) { TelemetryClient = telemetryClient }); AddDialog(new FindContactDialog(settings, services, responseManager, conversationState, serviceManager, telemetryClient)); AddDialog(new WaterfallDialog(Actions.GetRecreateInfo, getRecreateInfo) { TelemetryClient = telemetryClient }); AddDialog(new GetRecreateInfoPrompt(Actions.GetRecreateInfoPrompt)); InitialDialogId = Actions.Send; }
public ForwardEmailDialog( BotSettings settings, BotServices services, ResponseManager responseManager, ConversationState conversationState, FindContactDialog findContactDialog, IServiceManager serviceManager, IBotTelemetryClient telemetryClient) : base(nameof(ForwardEmailDialog), settings, services, responseManager, conversationState, serviceManager, telemetryClient) { TelemetryClient = telemetryClient; var forwardEmail = new WaterfallStep[] { IfClearContextStep, GetAuthToken, AfterGetAuthToken, SetDisplayConfig, CollectSelectedEmail, AfterCollectSelectedEmail, CollectRecipient, CollectAdditionalText, AfterCollectAdditionalText, ConfirmBeforeSending, ConfirmAllRecipient, ForwardEmail, }; var showEmail = new WaterfallStep[] { PagingStep, ShowEmails, }; var collectRecipients = new WaterfallStep[] { PromptRecipientCollection, GetRecipients, }; var updateSelectMessage = new WaterfallStep[] { UpdateMessage, PromptUpdateMessage, AfterUpdateMessage, }; // Define the conversation flow using a waterfall model. AddDialog(new WaterfallDialog(Actions.Forward, forwardEmail) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.Show, showEmail) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.CollectRecipient, collectRecipients) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.UpdateSelectMessage, updateSelectMessage) { TelemetryClient = telemetryClient }); AddDialog(new FindContactDialog(settings, services, responseManager, conversationState, serviceManager, telemetryClient)); InitialDialogId = Actions.Forward; }
public SendEmailDialog( BotSettings settings, BotServices services, ResponseManager responseManager, ConversationState conversationState, FindContactDialog findContactDialog, IServiceManager serviceManager, IBotTelemetryClient telemetryClient, MicrosoftAppCredentials appCredentials) : base(nameof(SendEmailDialog), settings, services, responseManager, conversationState, serviceManager, telemetryClient, appCredentials) { TelemetryClient = telemetryClient; var sendEmail = new WaterfallStep[] { IfClearContextStep, GetAuthToken, AfterGetAuthToken, CollectRecipient, CollectSubject, CollectText, ConfirmBeforeSending, ConfirmAllRecipient, SendEmail, }; var collectRecipients = new WaterfallStep[] { PromptRecipientCollection, GetRecipients, }; var updateSubject = new WaterfallStep[] { UpdateSubject, RetryCollectSubject, AfterUpdateSubject, }; var updateContent = new WaterfallStep[] { UpdateContent, PlayBackContent, AfterCollectContent, }; var getRecreateInfo = new WaterfallStep[] { GetRecreateInfo, AfterGetRecreateInfo, }; // Define the conversation flow using a waterfall model. AddDialog(new WaterfallDialog(Actions.Send, sendEmail) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.CollectRecipient, collectRecipients) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.UpdateSubject, updateSubject) { TelemetryClient = telemetryClient }); AddDialog(new WaterfallDialog(Actions.UpdateContent, updateContent) { TelemetryClient = telemetryClient }); AddDialog(new FindContactDialog(settings, services, responseManager, conversationState, serviceManager, telemetryClient)); AddDialog(new WaterfallDialog(Actions.GetRecreateInfo, getRecreateInfo) { TelemetryClient = telemetryClient }); AddDialog(new GetRecreateInfoPrompt(Actions.GetRecreateInfoPrompt)); InitialDialogId = Actions.Send; }