public FuncTask <WorkflowResult> Approval(object wfAddIn) { FuncTask <WorkflowResult> task = new FuncTask <WorkflowResult>(); WorkflowResult wfResult = this.GetInstanceID(wfAddIn); if (wfResult.InstanceId != Guid.Empty) { WfApprovalWindow wfApproval = new WfApprovalWindow(); wfApproval.Closed += (s, e) => { bool flag = wfApproval.DialogResult.HasValue ? wfApproval.DialogResult.Value : false; if (flag) { task = this.Approval(wfResult.InstanceId, ContextHelper.Account.LoginID, wfApproval.Result, wfApproval.Comment); } else { task.Complete(wfResult); } }; wfApproval.Show(); } else { task.Complete(wfResult); } return(task); }
public FuncTask <WorkflowResult> CreateWorkflow(object wfAddIn, IWorkflowDataEntity wfData) { FuncTask <WorkflowResult> task = new FuncTask <WorkflowResult>(); WorkflowResult wfResult = this.GetFlowID(wfAddIn); if (wfResult.FlowID == Guid.Empty) { task.Complete(wfResult); } else { IWorkflowService service = ServiceContainer.GetService <IWorkflowService>(task); service.CreateWorkflow(wfResult.FlowID, wfData, ContextHelper.Account.LoginID); } return(task); }