コード例 #1
0
        private BranchProcessReturnType GetBranchProcessReturnValue()
        {
            BranchProcessReturnType returnType = BranchProcessReturnType.AllFalse;

            //是否有真值
            bool hasTrue = false;
            //所有值进行“与”操作
            bool sumflag = true;

            if (this.BranchProcessGroups.Count > 0)
            {
                foreach (IWfBranchProcessGroup group in this.BranchProcessGroups)
                {
                    foreach (IWfProcess branch in group.Branches)
                    {
                        //Added by Fenglilei,20120906
                        if (branch.Status == WfProcessStatus.Aborted || branch.Status == WfProcessStatus.Maintaining)
                        {
                            continue;
                        }

                        bool value = branch.Descriptor.DefaultReturnValue;

                        if (hasTrue == false)
                        {
                            hasTrue = value;
                        }

                        if (sumflag)
                        {
                            sumflag = value && sumflag;
                        }
                    }
                }
            }

            if (sumflag)
            {
                //所有返回值都是真
                returnType = BranchProcessReturnType.AllTrue;
            }
            else
            {
                //存在某些值为真
                if (hasTrue)
                {
                    returnType = BranchProcessReturnType.PartialTrue;
                }
            }

            return(returnType);
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: ounata/AK47-2016Source
 public static WfClientBranchProcessReturnType ToClientBranchProcessReturnType(this BranchProcessReturnType returnType)
 {
     return((WfClientBranchProcessReturnType)returnType);
 }