public HangupOutcomeEvent(ConversationResult conversationResult, Workflow resultingWorkflow, HangupOutcome outcome)
     : base(conversationResult, resultingWorkflow)
 {
     if (outcome == null)
         throw new ArgumentNullException(nameof(outcome));
     HangupOutcome = outcome;
 }
 public IncomingCallEvent(Conversation conversation, Workflow resultingWorkflow)
 {
     if (conversation == null)
         throw new ArgumentNullException(nameof(conversation));
     if (resultingWorkflow == null)
         throw new ArgumentNullException(nameof(resultingWorkflow));
     IncomingCall = conversation;
     ResultingWorkflow = resultingWorkflow;
 }
 public OutcomeEventBase(ConversationResult conversationResult, Workflow resultingWorkflow)
 {
     if (conversationResult == null)
         throw new ArgumentNullException(nameof(conversationResult));
     if (resultingWorkflow == null)
         throw new ArgumentNullException(nameof(resultingWorkflow));
     ConversationResult = conversationResult;
     ResultingWorkflow = resultingWorkflow;
 }
 public RecordOutcomeEvent(
     ConversationResult conversationResult,
     Workflow resultingWorkflow,
     RecordOutcome outcome,
     Task<Stream> recordedContent)
     : base(conversationResult, resultingWorkflow)
 {
     if (outcome == null) throw new ArgumentNullException(nameof(outcome));
     RecordOutcome = outcome;
     RecordedContent = recordedContent;
 }
 private void SetupInitialMenu(Workflow workflow)
 {
     workflow.Actions = new List<ActionBase> { CreateIvrOptions(IvrOptions.MainMenuPrompt, 5, false) };
 }
        private static void SetupRecording(Workflow workflow)
        {
            var id = Guid.NewGuid().ToString();

            var prompt = GetPromptForText(IvrOptions.NoConsultants);
            var record = new Record
            {
                OperationId = id,
                PlayPrompt = prompt,
                MaxDurationInSeconds = 10,
                InitialSilenceTimeoutInSeconds = 5,
                MaxSilenceTimeoutInSeconds = 2,
                PlayBeep = true,
                StopTones = new List<char> { '#' }
            };
            workflow.Actions = new List<ActionBase> { record };
        }