using Abp; using Abp.Dependency; using System; using WorkflowCore.Interface; namespace VberZero.Workflow { public class VberWorkflowRegistry : IVberWorkflowRegistry, ISingletonDependency { private readonly IWorkflowRegistry _workflowRegistry; private readonly IIocManager _iocManager; public VberWorkflowRegistry(IWorkflowRegistry workflowRegistry, IIocManager iocManager) { _workflowRegistry = workflowRegistry; _iocManager = iocManager; } public void RegisterWorkflow(Type type) { var workflow = _iocManager.Resolve(type); if (!(workflow is IVberWorkflow vberWorkflow)) { throw new AbpException("RegisterType 必须从 VberWorkflow 实现!"); } _workflowRegistry.RegisterWorkflow(vberWorkflow); } } }