using Abp; using Abp.Collections.Extensions; using System.Collections.Generic; namespace VberZero.Workflow.StepBodies; public abstract class VberStepBodyDefinitionContextBase : IVberStepBodyDefinitionContext { protected readonly Dictionary VberStepBodies; protected VberStepBodyDefinitionContextBase() { VberStepBodies = new Dictionary(); } public void Create(VberWorkflowStepBody entity) { if (VberStepBodies.ContainsKey(entity.Name)) { throw new AbpException("已存在 StepBody: " + entity.Name); } VberStepBodies[entity.Name] = entity; } /// /// /// /// public IReadOnlyCollection GetAllStepBodies() { return VberStepBodies.Values; } public VberWorkflowStepBody GetStepBodyOrNull(string name) { return VberStepBodies.GetOrDefault(name); } public void RemoveStepBody(string name) { VberStepBodies.Remove(name); } }