private static void StoreComment(ActivityExecutionContext context)
        {
            var state   = (WorkflowState)context.WorkflowExecutionContext.WorkflowContext !;
            var comment = context.GetInput <Comment>();//(Comment)((HttpRequestModel)context.Input!).Body!;

            state.Comments.Add(comment);
        }
Пример #2
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var payload = context.GetInput <CallBridgedPayload>() !;
            var results = new List <IActivityExecutionResult>();

            context.LogOutputProperty(this, "Received Payload", payload);

            if (payload.CallControlId == CallControlIdA)
            {
                CallBridgedPayloadA = payload;
                Output = payload;
                results.Add(Outcome(TelnyxOutcomeNames.LegABridged));
            }

            if (payload.CallControlId == CallControlIdB)
            {
                CallBridgedPayloadB = payload;
                Output = payload;
                results.Add(Outcome(TelnyxOutcomeNames.LegBBridged));
            }

            if (CallBridgedPayloadA != null && CallBridgedPayloadB != null)
            {
                results.Add(Outcome(TelnyxOutcomeNames.Bridged, new BridgedCallsOutput(CallBridgedPayloadA, CallBridgedPayloadB)));
            }
            else
            {
                results.Add(Suspend());
            }

            return(Combine(results));
        }
Пример #3
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var triggeredSignal = context.GetInput <Signal>() !;

            SignalInput = triggeredSignal.Input;
            Output      = triggeredSignal.Input;
            return(Done());
        }
Пример #4
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var triggeredSignal = context.GetInput <Signal>() !;

            SignalInput = triggeredSignal.Input;
            Output      = triggeredSignal.Input;
            context.LogOutputProperty(this, nameof(Output), Output);
            return(Done());
        }
Пример #5
0
        private void MaybeThrow(ActivityExecutionContext context)
        {
            var model = context.GetInput <HttpRequestModel>() !;
            var fault = model.QueryString.GetItem("fault") == "true";

            if (fault)
            {
                throw new Exception("This is quite a serious fault!");
            }
        }
Пример #6
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var payload = context.GetInput <CallPayload>();

            Output = payload;

            return(payload switch
            {
                CallAnsweredPayload answeredPayload => AnsweredOutcome(answeredPayload),
                CallHangupPayload hangupPayload => HangupOutcome(hangupPayload),
                CallInitiatedPayload initiatedPayload => Combine(InitiatedOutcome(initiatedPayload), Suspend()),
                _ => throw new ArgumentOutOfRangeException(nameof(payload))
            });
Пример #7
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var payload = context.GetInput <CallPayload>();

            Output = payload;

            return(payload switch
            {
                CallAnsweredPayload => Outcome(TelnyxOutcomeNames.Answered),
                CallBridgedPayload => Outcome(TelnyxOutcomeNames.Bridged),
                CallHangupPayload => Outcome(TelnyxOutcomeNames.Hangup),
                CallInitiatedPayload => Outcome(TelnyxOutcomeNames.CallInitiated),
                _ => throw new ArgumentOutOfRangeException(nameof(payload))
            });
Пример #8
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var payload = context.GetInput <CallPayload>();

            Output = payload;

            context.LogOutputProperty(this, "Received Payload", payload);

            return(payload switch
            {
                CallAnsweredPayload => Outcome(TelnyxOutcomeNames.Answered),
                CallHangupPayload => Outcome(TelnyxOutcomeNames.Hangup),
                _ => throw new ArgumentOutOfRangeException(nameof(payload))
            });
Пример #9
0
        private IActivityExecutionResult OnExecuteInternal(ActivityExecutionContext context)
        {
            var eventModel = context.GetInput <EventModel>() !;
            var outcomes   = eventModel.Outcomes;

            if (outcomes?.Any() == false)
            {
                outcomes = new[] { OutcomeNames.Done }
            }
            ;

            Payload = eventModel.Payload;
            return(base.Outcomes(outcomes !));
        }
    }
Пример #10
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var eventModel = context.GetInput <TaskResultModel>() !;
            var outcomes   = eventModel.Outcomes;

            if (outcomes?.Any() == false)
            {
                outcomes = new[] { OutcomeNames.Done }
            }
            ;

            ResultPayload = eventModel.Payload;
            return(base.Outcomes(outcomes !));
        }
    }
Пример #11
0
        protected override IActivityExecutionResult OnResume(ActivityExecutionContext context)
        {
            var eventModel = context.GetInput <TaskResultModel>() !;
            var outcomes   = eventModel.Outcomes;

            if (outcomes?.Any() == false)
            {
                outcomes = new[] { OutcomeNames.Done }
            }
            ;

            Output = eventModel.Payload;
            context.LogOutputProperty(this, nameof(Output), Output);
            return(base.Outcomes(outcomes !));
        }
    }
Пример #12
0
 private IActivityExecutionResult ExecuteInternal(ActivityExecutionContext context)
 {
     Output = context.GetInput <HttpRequestModel>();
     return(Done());
 }
Пример #13
0
 private static int GetNumber(ActivityExecutionContext context) => context.GetInput <int>();
Пример #14
0
 private IActivityExecutionResult ExecuteInternal(ActivityExecutionContext context)
 {
     Output = context.GetInput <HttpRequestModel>() !;
     context.JournalData.Add("Inbound Request", Output);
     return(Done());
 }