예제 #1
0
 /// <summary>
 /// 返回条件节点的期望值
 /// </summary>
 /// <param name="flowAttachment"></param>
 /// <returns></returns>
 public int FindExpect(FlowAttachment flowAttachment)
 {
     using (AppBLL bll = new AppBLL())
     {
         FlowKinkEntity flowKind = bll.GetDataItem <FlowKinkEntity>("Usp_FlowKind_Get", new { Id = flowAttachment.Kind });
         return((int)flowKind.I_Flow);
     }
 }
예제 #2
0
        /// <summary>
        /// 加载模板,并初始化流程
        /// </summary>
        /// <param name="template">模板名称</param>
        /// <param name="flowAttachment">流程附属数据</param>
        /// <returns></returns>
        public FlowEngine TemplateLoad(string template, FlowAttachment flowAttachment)
        {
            string     file       = this.GetTemplateFile(template);
            FlowEngine flowEngine = FlowEngine.Load(file);

            flowEngine.ResetIdentity();
            flowEngine.Reset(flowAttachment);
            return(flowEngine);
        }
예제 #3
0
 /// <summary>
 /// 普通节点设置IActor
 /// 条件节点设置ICondition
 /// </summary>
 /// <param name="flowEngine">流程对象</param>
 public void Assign(FlowEngine flowEngine, FlowAttachment flowAttachment)
 {
     foreach (var step in flowEngine.FlowSteps)
     {
         foreach (var node in step.Nodes)
         {
             //node.Participant.Actor = new DepartmentActor();
             if (node is NodeCondition)
             {
                 ((NodeCondition)node).Condition = new RevenuCondition();
             }
         }
     }
     flowEngine.Reset(flowAttachment);
 }
        /// <summary>
        /// 创建流程实例(不保存入库)
        /// </summary>
        /// <param name="id">编号</param>
        /// <param name="category">分类</param>
        /// <param name="uid">创建人</param>
        /// <param name="depLevel1">中心及职能部门</param>
        /// <param name="depLevel2">中心下属部门</param>
        /// <returns>流程实例</returns>
        public static FlowEngine Build(ProjectEntity projectEntity, FlowKinkEntity flowKinkEntity, int userId)
        {
            //获取当前模板
            FlowAttachment flowAttachment = new FlowAttachment()
            {
                Owner = projectEntity.Id, Kind = flowKinkEntity.id
            };

            flowAttachment.Creater = userId;

            FlowManager flowMgr    = FlowManager.Instance();
            FlowEngine  flowEngine = flowMgr.TemplateLoad(flowKinkEntity.C_Template);

            flowEngine.Attachment = flowAttachment;

            FlowHelper.Concat(flowAttachment.Owner, flowEngine);

            return(flowEngine);
        }