/// <summary>
        /// Resumes the <see cref="ActivityActor{TActivity}"/> with the given <paramref name="value"/>.
        /// </summary>
        /// <param name="bookmark"></param>
        /// <param name="value"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        internal async Task <BookmarkResumptionResult> ResumeAsync(Bookmark bookmark, object value, TimeSpan timeout)
        {
            Contract.Requires <ArgumentNullException>(bookmark != null);
            ThrowIfInvalidState();

            return(await InvokeAndPump(() => workflow.ResumeBookmarkAsync(bookmark, value, timeout)));
        }
        /// <summary>
        /// Resumes the <see cref="ActivityActor{TActivity}"/> with the given <paramref name="value"/>.
        /// </summary>
        /// <param name="bookmark"></param>
        /// <param name="value"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        internal async Task <BookmarkResumptionResult> ResumeAsync(Bookmark bookmark, object value, TimeSpan timeout)
        {
            if (bookmark == null)
            {
                throw new ArgumentNullException(nameof(bookmark));
            }

            ThrowIfInvalidState();

            return(await InvokeAndPump(() => workflow.ResumeBookmarkAsync(bookmark, value, timeout)));
        }
Ejemplo n.º 3
0
        public async Task Test_wait_result()
        {
            var wf = new WorkflowApplication(new Wait <string>("Bookmark"));
            var rs = wf.WaitForCompletionAsync();
            await wf.RunAsync();

            await Task.Delay(1000);

            Assert.AreEqual(BookmarkResumptionResult.Success, await wf.ResumeBookmarkAsync("Bookmark", "Done"));
            Assert.AreEqual("Done", (string)(await rs)["Result"]);
        }
Ejemplo n.º 4
0
        public async Task Test_wait()
        {
            var wf = new WorkflowApplication(new Wait("Bookmark"));
            var rs = wf.WaitForCompletionAsync();
            await wf.RunAsync();

            await Task.Delay(1000);

            Assert.AreEqual(BookmarkResumptionResult.Success, await wf.ResumeBookmarkAsync("Bookmark", null));
            await rs;
        }