tag:github.com,2008:https://github.com/luyongqiang/workflow-core/releases Release notes from workflow-core 2017-12-24T01:08:35Z tag:github.com,2008:Repository/140643016/1.6.0 2017-12-24T01:08:35Z 1.6.0: Merge pull request #94 from danielgerlag/transaction-comensation-feature <p>Saga Transactions and compensation feature</p> danielgerlag tag:github.com,2008:Repository/140643016/1.4.0 2017-12-03T17:03:08Z 1.4.0 <p>tests</p> danielgerlag tag:github.com,2008:Repository/140643016/1.3.3 2017-11-21T04:07:53Z 1.3.3: Merge branch 'master' of https://github.com/danielgerlag/workflow-core <h1>Conflicts:</h1> <h1>WorkflowCore.sln</h1> danielgerlag tag:github.com,2008:Repository/140643016/1.3.2 2017-09-09T15:21:31Z 1.3.2: Merge pull request #55 from danielgerlag/interface-speration <p>Interface separation</p> danielgerlag tag:github.com,2008:Repository/140643016/1.3.0 2017-07-22T17:56:53Z 1.3.0 <p>Merge pull request <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="244861705" data-permission-text="Title is private" data-url="https://github.com/danielgerlag/workflow-core/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/danielgerlag/workflow-core/pull/50/hovercard" href="https://github.com/danielgerlag/workflow-core/pull/50">danielgerlag#50</a> from danielgerlag/read-ahead</p> danielgerlag tag:github.com,2008:Repository/140643016/1.2.9-r2 2017-07-02T15:28:59Z 1.2.9-r2 <p>samples, readme</p> danielgerlag tag:github.com,2008:Repository/140643016/1.2.9 2017-06-24T15:37:07Z 1.2.9 <p>Merge pull request <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="238324196" data-permission-text="Title is private" data-url="https://github.com/danielgerlag/workflow-core/issues/44" data-hovercard-type="pull_request" data-hovercard-url="/danielgerlag/workflow-core/pull/44/hovercard" href="https://github.com/danielgerlag/workflow-core/pull/44">danielgerlag#44</a> from danielgerlag/refineapi2</p> danielgerlag tag:github.com,2008:Repository/140643016/1.2.8 2017-06-17T13:26:17Z 1.2.8: Merge pull request #42 from danielgerlag/refineapi <ul> <li>.Schedule() API, to future date a block of steps to run in parallel to the rest of the workflow.</li> </ul> <p>This following example will execute the block of steps after 3 days</p> <div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="builder .StartWith&lt;HelloWorld&gt;() .Schedule(data =&gt; TimeSpan.FromDays(3)).Do(block =&gt; block.StartWith&lt;DoSomething&gt;() .Then&lt;DoSomethingElse&gt;()) .Then&lt;GoodbyeWorld&gt;();"><pre><span class="pl-s1">builder</span> <span class="pl-kos">.</span><span class="pl-smi">StartWith</span><span class="pl-c1">&lt;</span><span class="pl-smi">HelloWorld</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">Schedule</span><span class="pl-kos">(</span>data <span class="pl-c1">=&gt;</span> <span class="pl-s1">TimeSpan</span><span class="pl-kos">.</span><span class="pl-en">FromDays</span><span class="pl-kos">(</span><span class="pl-c1">3</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">Do</span><span class="pl-kos">(</span>block <span class="pl-c1">=&gt;</span> <span class="pl-s1">block</span><span class="pl-kos">.</span><span class="pl-smi">StartWith</span><span class="pl-c1">&lt;</span><span class="pl-smi">DoSomething</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-smi">Then</span><span class="pl-c1">&lt;</span><span class="pl-smi">DoSomethingElse</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-smi">Then</span><span class="pl-c1">&lt;</span><span class="pl-smi">GoodbyeWorld</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <ul> <li>Overload of the .Input() method to allow access to the context object</li> </ul> <div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="builder .StartWith&lt;SayHello&gt;() .ForEach(data =&gt; new List&lt;int&gt;() { 1, 2, 3, 4 }) .Do(x =&gt; x .StartWith&lt;DisplayContext&gt;() .Input(step =&gt; step.Item, (data, context) =&gt; context.Item) .Then&lt;DoSomething&gt;()) .Then&lt;SayGoodbye&gt;();"><pre><span class="pl-s1">builder</span> <span class="pl-kos">.</span><span class="pl-smi">StartWith</span><span class="pl-c1">&lt;</span><span class="pl-smi">SayHello</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">ForEach</span><span class="pl-kos">(</span>data <span class="pl-c1">=&gt;</span> <span class="pl-k">new</span> <span class="pl-smi">List</span><span class="pl-c1">&lt;</span><span class="pl-smi">int</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> <span class="pl-c1">1</span><span class="pl-kos">,</span> <span class="pl-c1">2</span><span class="pl-kos">,</span> <span class="pl-c1">3</span><span class="pl-kos">,</span> <span class="pl-c1">4</span> <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">Do</span><span class="pl-kos">(</span>x <span class="pl-c1">=&gt;</span> <span class="pl-s1">x</span> <span class="pl-kos">.</span><span class="pl-smi">StartWith</span><span class="pl-c1">&lt;</span><span class="pl-smi">DisplayContext</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">Input</span><span class="pl-kos">(</span>step <span class="pl-c1">=&gt;</span> <span class="pl-s1">step</span><span class="pl-kos">.</span><span class="pl-s1">Item</span><span class="pl-kos">,</span> <span class="pl-kos">(</span><span class="pl-s1">data</span><span class="pl-kos">,</span> <span class="pl-s1">context</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">context</span><span class="pl-kos">.</span><span class="pl-s1">Item</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-smi">Then</span><span class="pl-c1">&lt;</span><span class="pl-smi">DoSomething</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-smi">Then</span><span class="pl-c1">&lt;</span><span class="pl-smi">SayGoodbye</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="builder .StartWith(context =&gt; Console.WriteLine(&quot;Hello!&quot;)) .Then(context =&gt; Console.WriteLine(&quot;Bye!&quot;));"><pre><span class="pl-s1">builder</span> <span class="pl-kos">.</span><span class="pl-en">StartWith</span><span class="pl-kos">(</span>context <span class="pl-c1">=&gt;</span> <span class="pl-s1">Console</span><span class="pl-kos">.</span><span class="pl-en">WriteLine</span><span class="pl-kos">(</span><span class="pl-s">"Hello!"</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">Then</span><span class="pl-kos">(</span>context <span class="pl-c1">=&gt;</span> <span class="pl-s1">Console</span><span class="pl-kos">.</span><span class="pl-en">WriteLine</span><span class="pl-kos">(</span><span class="pl-s">"Bye!"</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <ul> <li>Inline action steps API</li> </ul> <div class="highlight highlight-source-cs notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="builder .StartWith(context =&gt; Console.WriteLine(&quot;Hello!&quot;)) .Then(context =&gt; Console.WriteLine(&quot;Bye!&quot;));"><pre><span class="pl-s1">builder</span> <span class="pl-kos">.</span><span class="pl-en">StartWith</span><span class="pl-kos">(</span>context <span class="pl-c1">=&gt;</span> <span class="pl-s1">Console</span><span class="pl-kos">.</span><span class="pl-en">WriteLine</span><span class="pl-kos">(</span><span class="pl-s">"Hello!"</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">.</span><span class="pl-en">Then</span><span class="pl-kos">(</span>context <span class="pl-c1">=&gt;</span> <span class="pl-s1">Console</span><span class="pl-kos">.</span><span class="pl-en">WriteLine</span><span class="pl-kos">(</span><span class="pl-s">"Bye!"</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <ul> <li>Discontinued support for .NET 4.5.2 (.NET 4.6 is .NET Standard 1.3 compatible)</li> </ul> danielgerlag tag:github.com,2008:Repository/140643016/1.2.7 2017-06-09T04:52:26Z 1.2.7 <p>sql locking</p> danielgerlag