예제 #1
0
        private static ITaskResult<Nothing> ExecuteWorkflow(
            IWorkflow workflow,
            Identities tasks,
            ILogRenderer logRenderer,
            IDirectory workDirectory)
        {
            var executer = new SubflowTask<Nothing>(
                workflow,
                tasks);

            var context = new TaskContext(
                new ParallelExecutionStrategy(),
                logRenderer,
                workDirectory,
                new DefaultEnvironment(),
                new CompositeInterceptor(
                    new LoggingInterceptor()));

            return executer.Execute(context);
        }
예제 #2
0
 public void Render(Message message, Identities source)
 {
     Messages.Add(new Tuple<Message, Identities>(message, source));
 }
예제 #3
0
        protected bool Equals(Identities other)
        {
            if (other.Items.Length != Items.Length)
            {
                return false;
            }

            for (int index = 0; index < other.Items.Length; index++)
            {
                Identity identity = other.Items[index];
                Identity thisIdentity = Items[index];

                if (!identity.Equals(thisIdentity))
                {
                    return false;
                }
            }

            return true;
        }
예제 #4
0
 public void Render(Message message, Identities source)
 {
     Console.WriteLine("[{0}] - [{1}] - {2}", string.Join(" -> ", source.Items.Select(id => id.Value).ToArray()), message.Level, message.Text);
 }