Example #1
0
        public async Task DoItManually()
        {
            var step1 = new FakeReceiveStep("step 1");
            var step2 = new FakeReceiveStep("step 2");
            var step3 = new FakeReceiveStep("step 3");
            var step4 = new FakeReceiveStep("step 4");

            Func <IncomingStepContext, Task> invokerFunction = context => step1.Process(context, () =>
            {
                return(step2.Process(context, () =>
                {
                    return step3.Process(context, () =>
                    {
                        return step4.Process(context, () =>
                        {
                            return Task.FromResult(0);
                        });
                    });
                }));
            });

            var c = GetIncomingStepContext();

            await invokerFunction(c);

            Console.WriteLine(string.Join(Environment.NewLine, c.Load <List <string> >()));
        }