VberStepBodyDefinitionContextBase.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Abp;
  2. using Abp.Collections.Extensions;
  3. using System.Collections.Generic;
  4. namespace VberZero.Workflow.StepBodies;
  5. public abstract class VberStepBodyDefinitionContextBase : IVberStepBodyDefinitionContext
  6. {
  7. protected readonly Dictionary<string, VberWorkflowStepBody> VberStepBodies;
  8. protected VberStepBodyDefinitionContextBase()
  9. {
  10. VberStepBodies = new Dictionary<string, VberWorkflowStepBody>();
  11. }
  12. public void Create(VberWorkflowStepBody entity)
  13. {
  14. if (VberStepBodies.ContainsKey(entity.Name))
  15. {
  16. throw new AbpException("已存在 StepBody: " + entity.Name);
  17. }
  18. VberStepBodies[entity.Name] = entity;
  19. }
  20. /// <summary>
  21. ///
  22. /// </summary>
  23. /// <returns></returns>
  24. public IReadOnlyCollection<VberWorkflowStepBody> GetAllStepBodies()
  25. {
  26. return VberStepBodies.Values;
  27. }
  28. public VberWorkflowStepBody GetStepBodyOrNull(string name)
  29. {
  30. return VberStepBodies.GetOrDefault(name);
  31. }
  32. public void RemoveStepBody(string name)
  33. {
  34. VberStepBodies.Remove(name);
  35. }
  36. }