IVberWorkflowManager.cs 927 B

1234567891011121314151617181920212223242526272829303132
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. using VberZero.Workflow.DesignInfo;
  5. using VberZero.Workflow.StepBodies;
  6. namespace VberZero.Workflow
  7. {
  8. public interface IVberWorkflowManager
  9. {
  10. public IVberPersistenceProvider PersistenceProvider { get; }
  11. public IQueryable<WorkflowDefinitionInfo> WorkflowDefinitions { get; }
  12. Task<bool> TerminateWorkflow(string workflowId);
  13. IEnumerable<VberWorkflowStepBody> GetAllStepBodies();
  14. Task PublishEventAsync(string eventName, string eventKey, object eventData);
  15. Task CreateAsync(WorkflowDefinitionInfo entity);
  16. Task UpdateAsync(WorkflowDefinitionInfo entity);
  17. Task DeleteAsync(string id, int version);
  18. Task DeleteAsync(string id);
  19. Task<string> StartWorkflow(string id, int version, Dictionary<string, object> inputs, string reference = null);
  20. }
  21. }