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); }
public static WfClientBranchProcessReturnType ToClientBranchProcessReturnType(this BranchProcessReturnType returnType) { return((WfClientBranchProcessReturnType)returnType); }