/// <summary> /// 创建流程定义记录 /// </summary> /// <param name="entity">流程定义实体</param> /// <returns>新ID</returns> public int CreateProcess(ProcessEntity entity) { var pm = new ProcessManager(); var processID = pm.CreateProcess(entity, XPDLStorageFactory.CreateXPDLStorage()); return(processID); }
/// <summary> /// 流程定义的XML文件获取和保存 /// </summary> /// <param name="processGUID">流程GUID</param> /// <param name="version">版本</param> /// <returns>流程文件</returns> public ProcessFileEntity GetProcessFile(string processGUID, string version) { var pm = new ProcessManager(); var entity = pm.GetProcessFile(processGUID, version, XPDLStorageFactory.CreateXPDLStorage()); return(entity); }
/// <summary> /// 获取流程定义文件 /// </summary> /// <param name="id">流程ID</param> /// <returns></returns> public ProcessFileEntity GetProcessFileByID(int id) { var pm = new ProcessManager(); var entity = pm.GetProcessFileByID(id, XPDLStorageFactory.CreateXPDLStorage()); return(entity); }
/// <summary> /// 重置缓存中的流程定义信息 /// </summary> /// <param name="processGUID">流程Guid编号</param> /// <param name="version">流程版本</param> public void ResetCache(string processGUID, string version = null) { //获取流程信息 var process = GetProcessByVersion(processGUID, version); var pm = new ProcessManager(); var xmlDoc = pm.GetProcessXmlDocument(process.ProcessGUID, process.Version, XPDLStorageFactory.CreateXPDLStorage()); //xml文件读取方式,数据库或外部文件 if (MemoryCachedHelper.GetXpdlCache(process.ProcessGUID, process.Version) == null) { MemoryCachedHelper.SetXpdlCache(process.ProcessGUID, process.Version, xmlDoc); } else { MemoryCachedHelper.TryUpdate(process.ProcessGUID, process.Version, xmlDoc); } }
/// <summary> /// 删除流程定义记录 /// </summary> /// <param name="processGUID">流程GUID</param> /// <param name="version">版本</param> public void DeleteProcess(string processGUID, string version) { var pm = new ProcessManager(); pm.DeleteProcess(processGUID, version, XPDLStorageFactory.CreateXPDLStorage()); }
/// <summary> /// 保存流程定义的xml文件 /// </summary> /// <param name="entity">流程文件实体</param> public void SaveProcessFile(ProcessFileEntity entity) { var pm = new ProcessManager(); pm.SaveProcessFile(entity, XPDLStorageFactory.CreateXPDLStorage()); }