コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }