using eSuite.Core.Miscellaneous; namespace e_suite.Workflow.Core; public class WorkflowTemplate { /// /// Name of the workflow as seen by users, must be unique. /// public required string Name { get; set; } } public class WorkflowVersion : IWorkflow { public required WorkflowTemplate Template { get; set; } public ICollection Tasks { get; } = new List(); //Serialise to Json. public required IGeneralIdRef Domain { get; set; } public WorkflowState CurrentState { get; set; } = WorkflowState.Pending; public required string ActivityNameTemplate { get; set; } public string Description { get; set; } = string.Empty; public bool Paused { get; } = false; public async Task OnActivateAsync() { } public async Task OnCompleteAsync() { } }