流程定义管理类
Inheritance: Slickflow.Data.ManagerBase
コード例 #1
0
        public object Get()
        {
            ProcessManager pm = new ProcessManager();
            var process = pm.GetByVersion("072AF8C3-482A-4B1C-890B-685CE2FCC75D", "1");

            return process;
        }
コード例 #2
0
 public void RemoveProcess(ProcessEntity entity)
 {
     ProcessManager pm = new ProcessManager();
     pm.Delete(entity.ProcessGUID, entity.Version);
 }
コード例 #3
0
 public void UpdateProcess(ProcessEntity obj)
 {
     ProcessManager pm = new ProcessManager();
     pm.Update(obj);
 }
コード例 #4
0
 public void InsertProcess(ProcessEntity obj)
 {
     ProcessManager pm = new ProcessManager();
     pm.Insert(obj);
 }
        /// <summary>
        /// 创建流程定义记录
        /// </summary>
        /// <param name="entity"></param>
        public void CreateProcess(ProcessEntity entity)
        {
            var processManager = new ProcessManager();
            entity.ProcessGUID = Guid.NewGuid().ToString();
            entity.CreatedDateTime = DateTime.Now;
            entity.XmlFilePath = string.Format("{0}\\{1}", entity.AppType, entity.XmlFileName);

            var session = SessionFactory.CreateSession();
            try
            {
                session.BeginTrans();
                processManager.Insert(session.Connection, entity, session.Transaction);

                //创建xml文件到本地目录
                var serverPath = ConfigHelper.GetAppSettingString("WorkflowFileServer");
                var physicalFileName = string.Format("{0}\\{1}", serverPath, entity.XmlFilePath);

                //判断目录是否存在,否则创建
                var pathName = Path.GetDirectoryName(physicalFileName);
                if (!Directory.Exists(pathName))
                    Directory.CreateDirectory(pathName);

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml("<Package/>");
                XmlDeclaration xmldecl = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);

                //Add the new node to the document.
                XmlElement root = xmlDoc.DocumentElement;
                xmlDoc.InsertBefore(xmldecl, root);

                XmlElement workflowNode = xmlDoc.CreateElement("WorkflowProcess");
                XmlElement processNode = xmlDoc.CreateElement("Process");
                processNode.SetAttribute("name", entity.ProcessName);
                processNode.SetAttribute("id", entity.ProcessGUID);

                XmlElement descriptionNode = xmlDoc.CreateElement("Description");
                descriptionNode.InnerText = entity.Description;
                processNode.AppendChild(descriptionNode);

                workflowNode.AppendChild(processNode);
                root.AppendChild(workflowNode);

                xmlDoc.Save(physicalFileName);

                session.Commit();
            }
            catch (System.Exception ex)
            {
                session.Rollback();
            }
            finally
            {
                session.Dispose();
            }
        }
 /// <summary>
 /// 保存流程定义的xml文件
 /// </summary>
 /// <param name="diagram"></param>
 public void SaveProcessFile(ProcessFileEntity entity)
 {
     var pm = new ProcessManager();
     pm.SaveProcessFile(entity);
 }
 /// <summary>
 /// 更新流程定义记录
 /// </summary>
 /// <param name="entity"></param>
 public void UpdateProcess(ProcessEntity entity)
 {
     var processManager = new ProcessManager();
     processManager.Update(entity);
 }
        /// <summary>
        /// 流程定义的XML文件获取和保存
        /// </summary>
        /// <param name="processGUID"></param>
        /// <returns></returns>
        public ProcessFileEntity GetProcessFile(string processGUID, string version)
        {
            var pm = new ProcessManager();
            var entity = pm.GetProcessFile(processGUID, version);

            return entity;
        }
        /// <summary>
        /// 获取流程定义数据
        /// </summary>
        /// <returns></returns>
        public IList<ProcessEntity> GetProcess()
        {
            var pm = new ProcessManager();
            var list = pm.GetAll();

            return list;
        }
        /// <summary>
        /// 删除流程定义记录
        /// </summary>
        /// <param name="processGUID"></param>
        public void DeleteProcess(string processGUID, string version)
        {
            IDbSession session = SessionFactory.CreateSession();
            try
            {
                session.BeginTrans();

                var processManager = new ProcessManager();
                var entity = processManager.GetByVersion(processGUID, version);
                processManager.Delete(session.Connection, entity, session.Transaction);

                //delete the xml file
                var serverPath = ConfigHelper.GetAppSettingString("WorkflowFileServer");
                var physicalFileName = string.Format("{0}\\{1}", serverPath, entity.XmlFilePath);
                File.Delete(physicalFileName);

                session.Commit();
            }
            catch (System.Exception ex)
            {
                session.Rollback();
            }
            finally
            {
                session.Dispose();
            }
        }
コード例 #11
0
 public void RemoveProcess(String processGUID)
 {
     ProcessManager pm = new ProcessManager();
     pm.Delete(processGUID);
 }
コード例 #12
0
        /// <summary>
        /// 流程定义数据读取
        /// </summary>
        /// <param name="processGUID">流程定义GUID</param>
        /// <returns></returns>
        public ProcessEntity GetProcessById(string processGUID)
        {
            var pm = new ProcessManager();
            var entity = pm.GetByGUID(processGUID);

            return entity;
        }