diff --git a/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs b/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs deleted file mode 100644 index dc38b50..0000000 --- a/e-suite.Workflow.Core/Interfaces/IFailedLoopback.cs +++ /dev/null @@ -1,14 +0,0 @@ -using e_suite.Workflow.Core.Attributes; -using System.ComponentModel.DataAnnotations; - -namespace e_suite.Workflow.Core.Interfaces; - -[TaskCapability] -public interface IFailedLoopback -{ - /// - /// ITask OnCompleteAsync returns false, the workflow processor will initiate a loopback to this item. - /// - [Required] - public Task Loopback { get; set; } -} \ No newline at end of file diff --git a/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs b/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs index 36565cc..1f92099 100644 --- a/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs +++ b/e-suite.Workflow.Core/Tasks/AdhocApprovalTask.cs @@ -1,12 +1,13 @@ using e_suite.Workflow.Core.Attributes; +using e_suite.Workflow.Core.Enums; using e_suite.Workflow.Core.Interfaces; namespace e_suite.Workflow.Core.Tasks; [GeneralTask] -public class AdhocApprovalTask : TaskBase, IAssignees, IFailedLoopback +public class AdhocApprovalTask : TaskBase, IAssignees, IOutcome { - public required Task Loopback { get; set; } - public IList Assignees { get; } = new List(); + public ApprovalVerdict TaskOutcome { get; set; } + public Dictionary OutcomeActions { get; set; } } \ No newline at end of file diff --git a/e-suite.Workflow.Core/Tasks/ApprovalTask.cs b/e-suite.Workflow.Core/Tasks/ApprovalTask.cs index cfd8934..bce568c 100644 --- a/e-suite.Workflow.Core/Tasks/ApprovalTask.cs +++ b/e-suite.Workflow.Core/Tasks/ApprovalTask.cs @@ -1,19 +1,13 @@ using e_suite.Workflow.Core.Attributes; +using e_suite.Workflow.Core.Enums; using e_suite.Workflow.Core.Interfaces; namespace e_suite.Workflow.Core.Tasks; [GeneralTask] -public class ApprovalTask : TaskBase, IStage, IFailedLoopback +public class ApprovalTask : TaskBase, IStage, IOutcome { - public required Task Loopback { get; set; } - public ICollection Tasks { get; } = new List(); - - //Todo can only be on a run-time instance - //public override Task OnCompleteAsync() - //{ - - // return Task.FromResult(true); - //} + public ApprovalVerdict TaskOutcome { get; set; } + public Dictionary OutcomeActions { get; set; } } \ No newline at end of file diff --git a/eSuite.sln b/eSuite.sln index 623f2a5..a6e7cba 100644 --- a/eSuite.sln +++ b/eSuite.sln @@ -163,6 +163,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.DependencyInjection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "e-suite.Modules.WorkflowTemplatesManager", "e-suite.Modules.WorkflowTemplatesManager\e-suite.Modules.WorkflowTemplatesManager.csproj", "{ABF3CD19-D1CF-4407-9102-3FC31DAC04AB}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "eSuite.Translator", "eSuite.Translator\eSuite.Translator.csproj", "{2D02CADA-C004-4B0C-B6DE-097647CB6BA3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -457,6 +459,10 @@ Global {ABF3CD19-D1CF-4407-9102-3FC31DAC04AB}.Debug|Any CPU.Build.0 = Debug|Any CPU {ABF3CD19-D1CF-4407-9102-3FC31DAC04AB}.Release|Any CPU.ActiveCfg = Release|Any CPU {ABF3CD19-D1CF-4407-9102-3FC31DAC04AB}.Release|Any CPU.Build.0 = Release|Any CPU + {2D02CADA-C004-4B0C-B6DE-097647CB6BA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D02CADA-C004-4B0C-B6DE-097647CB6BA3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D02CADA-C004-4B0C-B6DE-097647CB6BA3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D02CADA-C004-4B0C-B6DE-097647CB6BA3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE