示例#1
0
        public static bool Execute([NotNull] IProcessingContext context,
                                   [NotNull] IProcessingFeedback feedback,
                                   [NotNull] IEnumerable <IGdbProcess> processes,
                                   [CanBeNull] string actionName)
        {
            Assert.ArgumentNotNull(context, nameof(context));
            Assert.ArgumentNotNull(feedback, nameof(feedback));
            Assert.ArgumentNotNull(processes, nameof(processes));

            IGdbTransaction transaction = context.GetTransaction();
            IWorkspace      workspace   = context.GetWorkspace();

            // TODO - Consider: transient processes: execute a list of ProcessDescriptors;
            // TODO - for each descriptor, instantiate and configure a GdbProcess.

            return(transaction.Execute(
                       workspace,
                       () => Execute(context, feedback, processes),
                       actionName ?? GetActionName(processes)));
        }