private static bool CanAutoSendUserTask(IWfActivity activity)
        {
            bool result = activity.Descriptor.Properties.GetValue("AutoSendUserTask", true);

            WfAutoSendUserTaskMode autoSendMode = activity.Descriptor.Properties.GetValue("AutoSendUserTaskMode", WfAutoSendUserTaskMode.ByDefault);

            switch (autoSendMode)
            {
            case WfAutoSendUserTaskMode.ByDefault:
                //当从数据库中加载流程时,LoadingType为DataLoadingType.External。
                //result = result ||
                //        activity.Process.LoadingType == DataLoadingType.External ||
                //        activity.Process.EntryInfo != null;
                result = result || activity.Process.Committed;
                break;

            case WfAutoSendUserTaskMode.ByAutoSendUserTaskProperty:
                //在不是Clone活动的情况下和AutoSendUserTask相同,否则返回true
                if (activity.Descriptor.ClonedKey.IsNotEmpty())
                {
                    result = true;
                }

                break;
            }

            return(result);
        }
Exemplo n.º 2
0
 public static WfClientAutoSendUserTaskMode ToClientAutoSendUserTaskMode(this WfAutoSendUserTaskMode sendTaskMode)
 {
     return((WfClientAutoSendUserTaskMode)sendTaskMode);
 }