/// <summary> /// 根据指定参数启动流程 /// </summary> /// <param name="mainId">实体唯一标识Id</param> /// <param name="projectId">项目Id</param> /// <param name="cName">控制器名称</param> /// <param name="user">当前用户</param> /// <returns></returns> public OperationResult Execute(String mainId, Guid wfModeId, User user) { String msg = String.Empty; OperationResult or = new OperationResult(OperationResultType.Error); WFModel design = WFModelService.Entities.Where(c => c.Id == wfModeId).FirstOrDefault(); if (design.IsNullOrEmpty()) { msg = "流程设计不存在或已过期."; return(new OperationResult(OperationResultType.QueryNull, msg)); } // 根据指定参数启动流程 WorkflowApplication instance = new WorkflowApplication(mainId, design.Id, user); // 任务准备方法 instance.CreateStep = CreateTask; instance.WFComplete = Complete; tasks = new List <WFTask>(); or = instance.Execute(); return(or); }