/// <summary> /// 获取流程中所有定义的字段 /// </summary> /// <returns></returns> public string GetAllProcessFieldsByRepoGuid(Guid repoGuid) { List <ZParam> paramList = new List <ZParam>(); WfRepository repo = db.WfRepositorys.First(o => o.RepoGuid == repoGuid); FlowObjParser fParser = new FlowObjParser(); paramList = fParser.GetElementList <ZParam>(StreamUtil.StreamFromString(repo.BpmContent), "Param"); return(JsonConvert.SerializeObject(paramList)); }
/// <summary> /// 获取流程中所有定义的字段 /// </summary> /// <returns></returns> public string GetAllProcessFieldsByContext(BpmContext context = null) { Stream xml = null; List <ZParam> paramList = new List <ZParam>(); if (context == null) { xml = Context.ProcessXml; } else { xml = context.ProcessXml; } FlowObjParser fParser = new FlowObjParser(); paramList = fParser.GetElementList <ZParam>(xml, "Param"); return(JsonConvert.SerializeObject(paramList)); }
public void Next(Guid InstanceGuid, Guid TaskGuid) { RtInstance instance = AntApi.DB.RtInstances.First(o => o.InstanceGuid == InstanceGuid); RtTask task = AntApi.DB.RtTasks.First(o => o.TaskGuid == TaskGuid); string ActivityID = AntApi.DB.RtActivitys.First(o => o.ActivityGuid == task.ActivityGuid).ActivityID; Stream xml = StreamUtil.StreamFromString(instance.ProcessXml); FlowObjParser fParser = new FlowObjParser(); ZUserTask zUserTask = fParser.FindNode <ZUserTask>(xml, "UserTask", ActivityID); BpmContext context = new BpmContext(); context.InstanceID = InstanceGuid; context.ProcessXml = xml; context.Element = zUserTask; Exchange userTask = zUserTask.Exchange; userTask.Leave(context); }