예제 #1
0
        /// <summary>
        /// 保存表单与模块关联的实体数据
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        /// <param name="moduleEntity"></param>
        public void SaveRelationEntity(string keyValue, FormModuleRelationEntity entity, ModuleEntity moduleEntity = null)
        {
            try
            {
                FormModuleEntity         formModuleEntity        = server.GetEntity(entity.F_FrmId);
                Form_ModuleContentEntity formModuleContentEntity = new Form_ModuleContentEntity()
                {
                    F_FrmContent = formModuleEntity.F_FrmContent,
                    F_FrmId      = formModuleEntity.F_FrmId,
                    F_FrmVersion = formModuleEntity.F_Version
                };

                if (entity.F_FrmKind == 0)//自定义表单
                {
                    serverRelation.SaveEntity(keyValue, entity, moduleEntity, formModuleContentEntity);
                }
                else
                {
                    serverRelation.SaveEntity(keyValue, entity, formModuleContentEntity);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #2
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, Form_ModuleContentEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #3
0
 /// <summary>
 /// 保存表单模块实例数据
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="entity"></param>
 /// <returns></returns>
 public string SaveCustmerInstance(string keyValue, FormModuleInstanceEntity entity)
 {
     try
     {
         Form_ModuleContentEntity contentEntity = serverContent.GetEntity(entity.F_FrmContentId);
         return(serverInstance.SaveEntity(keyValue, entity, contentEntity));
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #4
0
 /// <summary>
 /// 获取表单内容
 /// </summary>
 /// <param name="keyValue"></param>
 public Form_ModuleContentEntity GetFormContentJson(string keyValue)
 {
     try
     {
         FormModuleRelationEntity relationEntity = serverRelation.GetEntity(keyValue);
         Form_ModuleContentEntity contentEntity  = serverContent.GetEntity(relationEntity.F_ModuleContentId);
         return(contentEntity);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #5
0
 /// <summary>
 /// 移除自定义表单实例
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="contentEntity"></param>
 /// <returns></returns>
 public int RemoveCustmerInstanceEntity(string keyValue, string frmContentId)
 {
     try
     {
         Form_ModuleContentEntity contentEntity = serverContent.GetEntity(frmContentId);
         serverInstance.RemoveEntity(keyValue, contentEntity);
         return(1);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #6
0
        public ActionResult GetProcessNodeJson(string keyValue)
        {
            WFProcessInstanceEntity processEntity       = wfProcessBll.GetProcessEntity(keyValue);
            WFProcessSchemeEntity   processSchemeEntity = wfProcessBll.GetProcessSchemeEntity(processEntity.F_ProcessSchemeId);
            var         nodeList  = wfProcessBll.GetProcessNodeList(keyValue);
            IWfRuntime  wfRuntime = new WfRuntime(processSchemeEntity.F_SchemeContent);
            WFNodeModel node      = wfRuntime.getStartNode();
            Dictionary <string, FormModuleEntity> formDataLsit = new Dictionary <string, FormModuleEntity>();

            FormModuleEntity formNewEntity = formModuleBLL.GetEntity(node.setInfo.nodeForm);

            formDataLsit.Add(node.setInfo.nodeForm, formNewEntity);
            List <FormModuleEntity> formEntityList = new List <FormModuleEntity>();
            Dictionary <string, FormModuleInstanceEntity> dFormData = new Dictionary <string, FormModuleInstanceEntity>();
            var formdata = formModuleBLL.GetInstanceList(keyValue);

            foreach (var item in formdata)
            {
                Form_ModuleContentEntity formEntity = formModuleBLL.GetFormContentEntity(item.F_FrmContentId);
                if (formDataLsit.ContainsKey(formEntity.F_FrmId) && !dFormData.ContainsKey(formEntity.F_FrmId))
                {
                    formDataLsit[formEntity.F_FrmId].F_FrmContent = formEntity.F_FrmContent;
                    formEntityList.Add(formDataLsit[formEntity.F_FrmId]);
                    dFormData.Add(formEntity.F_FrmId, item);
                }
            }
            if (formEntityList.Count == 0)
            {
                formEntityList.Add(formNewEntity);
            }
            var dataJson = new
            {
                processEntity       = processEntity,
                processSchemeEntity = processSchemeEntity,
                nodeList            = nodeList,
                formEntityList      = formEntityList,
                dFormData           = dFormData,
                currentNode         = node
            };

            return(Content(dataJson.ToJson()));
        }
예제 #7
0
 /// <summary>
 /// 升级表单
 /// </summary>
 /// <param name="keyValue"></param>
 public void UpdateForm(string keyValue)
 {
     try
     {
         FormModuleRelationEntity relationEntity          = serverRelation.GetEntity(keyValue);
         FormModuleEntity         formModuleEntity        = server.GetEntity(relationEntity.F_FrmId);
         Form_ModuleContentEntity formModuleContentEntity = new Form_ModuleContentEntity()
         {
             F_FrmContent = formModuleEntity.F_FrmContent,
             F_FrmId      = formModuleEntity.F_FrmId,
             F_FrmVersion = formModuleEntity.F_Version
         };
         relationEntity.F_FrmVersion = formModuleEntity.F_Version;
         serverRelation.SaveEntity(keyValue, relationEntity, formModuleContentEntity);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #8
0
        /// <summary>
        /// 保存表单模块实例数据
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="contentEntity"></param>
        /// <returns></returns>
        public string SaveEntity(FormModuleInstanceEntity entity, Form_ModuleContentEntity contentEntity)
        {
            FormModuleInstanceEntity formModuleInstanceEntity = GetEntityByProcessId(entity.F_ObjectId, entity.F_FrmContentId);

            if (formModuleInstanceEntity != null)
            {
                if (formModuleInstanceEntity.F_FrmInstanceJson != entity.F_FrmInstanceJson)
                {
                    return(SaveEntity(formModuleInstanceEntity.F_Id, entity, contentEntity));
                }
                else
                {
                    return(formModuleInstanceEntity.F_Id);
                }
            }
            else
            {
                return(SaveEntity("", entity, contentEntity));
            }
        }
예제 #9
0
        /// <summary>
        /// 移除自定义表单实例
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="contentEntity"></param>
        /// <returns></returns>
        public int RemoveEntity(string keyValue, Form_ModuleContentEntity contentEntity)
        {
            try
            {
                FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>();

                if (contentModel.type == "1")
                {
                    DataBaseLinkService dbService = new DataBaseLinkService();
                    string strSql    = "DELETE FROM " + contentModel.dbTable + " WHERE " + contentModel.dbPkey + " = @" + contentModel.dbPkey;
                    var    parameter = new List <DbParameter>();
                    parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue));
                    dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray());
                }
                return(this.BaseRepository().Delete <FormModuleInstanceEntity>(keyValue));
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #10
0
        /// <summary>
        /// 保存实体数据
        /// </summary>
        /// <param name="keyValue">主键</param>
        /// <param name="entity">数据实体</param>
        /// <param name="formModuleContentEntity">表单内容数据</param>
        /// <returns></returns>
        public int SaveEntity(string keyValue, FormModuleRelationEntity entity, Form_ModuleContentEntity formModuleContentEntity)
        {
            var db = this.BaseRepository().BeginTrans();

            try
            {
                var expression = LinqExtensions.True <Form_ModuleContentEntity>();
                expression = expression.And(t => t.F_FrmId == entity.F_FrmId &&  t.F_FrmVersion == entity.F_FrmVersion);
                Form_ModuleContentEntity form_ModuleContentEntity = db.FindEntity <Form_ModuleContentEntity>(expression);
                if (form_ModuleContentEntity == null)
                {
                    formModuleContentEntity.Create();
                    db.Insert(formModuleContentEntity);
                    entity.F_ModuleContentId = formModuleContentEntity.F_Id;
                }
                else
                {
                    entity.F_ModuleContentId = form_ModuleContentEntity.F_Id;
                }
                if (string.IsNullOrEmpty(keyValue))
                {
                    entity.Create();
                    db.Insert(entity);
                }
                else
                {
                    entity.Modify(keyValue);
                    db.Update(entity);
                }
                db.Commit();
                return(1);
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
예제 #11
0
        /// <summary>
        /// 保存表单模块实例数据
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        /// <param name="contentEntity"></param>
        /// <returns>主键值</returns>
        public string SaveEntity(string keyValue, FormModuleInstanceEntity entity, Form_ModuleContentEntity contentEntity)
        {
            try
            {
                string resKeyValue = "";

                FormContentModel contentModel = contentEntity.F_FrmContent.ToObject <FormContentModel>();

                switch (contentModel.type)
                {
                case "1":
                    DataBaseLinkService dbService = new DataBaseLinkService();
                    string strSql    = "";
                    var    parameter = new List <DbParameter>();
                    List <FormInstanceModel> filedsData = entity.F_FrmInstanceJson.ToObject <List <FormInstanceModel> >();

                    if (string.IsNullOrEmpty(keyValue))
                    {
                        string pkValue = Guid.NewGuid().ToString();
                        strSql = " INSERT INTO " + contentModel.dbTable + " ( " + contentModel.dbPkey;
                        string sqlValue = "( @" + contentModel.dbPkey;
                        parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, pkValue));
                        foreach (var item in filedsData)
                        {
                            if (!string.IsNullOrEmpty(item.value))
                            {
                                strSql   += "," + item.field;
                                sqlValue += ",@" + item.field;
                                parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value));
                            }
                        }
                        strSql += " ) VALUES " + sqlValue + ")";
                        entity.Create();
                        entity.F_Id = pkValue;
                        dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray());
                        this.BaseRepository().Insert(entity);

                        resKeyValue = entity.F_Id;
                    }
                    else
                    {
                        strSql = " UPDATE   " + contentModel.dbTable + " SET  ";
                        bool isFirst = true;
                        foreach (var item in filedsData)
                        {
                            if (!string.IsNullOrEmpty(item.value))
                            {
                                if (!isFirst)
                                {
                                    strSql += ",";
                                }
                                strSql += item.field + "=@" + item.field;
                                parameter.Add(DbParameters.CreateDbParameter("@" + item.field, item.value));
                                isFirst = false;
                            }
                        }
                        strSql += " WHERE " + contentModel.dbPkey + "=@" + contentModel.dbPkey;
                        parameter.Add(DbParameters.CreateDbParameter("@" + contentModel.dbPkey, keyValue));

                        entity.Modify(keyValue);
                        dbService.ExecuteBySql(contentModel.dbId, strSql, parameter.ToArray());
                        this.BaseRepository().Update(entity);

                        resKeyValue = entity.F_Id;
                    }
                    break;

                case "0":
                case "2":
                    if (string.IsNullOrEmpty(keyValue))    //新增
                    {
                        entity.Create();
                        this.BaseRepository().Insert(entity);
                    }
                    else    //更新
                    {
                        entity.Modify(keyValue);
                        this.BaseRepository().Update(entity);
                    }
                    resKeyValue = entity.F_Id;
                    break;
                }
                return(resKeyValue);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #12
0
        /// <summary>
        /// 保存实体数据(关联功能模块菜单)
        /// </summary>
        /// <param name="keyValue">主键Id</param>
        /// <param name="entity">表单关联实体</param>
        /// <param name="moduleEntity">系统功能模板实体</param>
        /// <param name="formModuleContentEntity">表单内容数据</param>
        /// <returns></returns>
        public void SaveEntity(string keyValue, FormModuleRelationEntity entity, ModuleEntity moduleEntity, Form_ModuleContentEntity formModuleContentEntity)
        {
            IRepository db = this.BaseRepository().BeginTrans();

            try
            {
                var expression = LinqExtensions.True <Form_ModuleContentEntity>();
                expression = expression.And(t => t.F_FrmId == entity.F_FrmId && t.F_FrmVersion == entity.F_FrmVersion);
                Form_ModuleContentEntity form_ModuleContentEntity = db.FindEntity <Form_ModuleContentEntity>(expression);
                if (form_ModuleContentEntity == null)
                {
                    formModuleContentEntity.Create();
                    db.Insert(formModuleContentEntity);
                    entity.F_ModuleContentId = formModuleContentEntity.F_Id;
                }
                else
                {
                    entity.F_ModuleContentId = form_ModuleContentEntity.F_Id;
                }

                if (string.IsNullOrEmpty(keyValue))
                {
                    entity.Create();
                    moduleEntity.Create();
                    db.Insert(moduleEntity);
                    entity.F_ObjectId         = moduleEntity.F_ModuleId;
                    entity.F_ObjectName       = moduleEntity.F_FullName;
                    moduleEntity.F_UrlAddress = moduleEntity.F_UrlAddress + "?Id=" + entity.F_Id;
                    db.Insert(entity);
                }
                else
                {
                    entity.Modify(keyValue);
                    moduleEntity.Modify(entity.F_ObjectId);
                    db.Update(moduleEntity);
                    entity.F_ObjectName       = moduleEntity.F_FullName;
                    moduleEntity.F_UrlAddress = moduleEntity.F_UrlAddress + "?Id=" + entity.F_Id;
                    db.Update(entity);
                }

                db.Delete <ModuleButtonEntity>(t => t.F_ModuleId.Equals(moduleEntity.F_ModuleId));
                ModuleButtonEntity moduleButtonrReplace = new ModuleButtonEntity();
                moduleButtonrReplace.F_ModuleId = moduleEntity.F_ModuleId;
                moduleButtonrReplace.F_EnCode   = "lr-replace";
                moduleButtonrReplace.F_FullName = "刷新";
                moduleButtonrReplace.F_SortCode = 0;
                moduleButtonrReplace.F_ParentId = "0";
                moduleButtonrReplace.Create();
                db.Insert(moduleButtonrReplace);

                ModuleButtonEntity moduleButtonrAdd = new ModuleButtonEntity();
                moduleButtonrAdd.F_ModuleId      = moduleEntity.F_ModuleId;
                moduleButtonrAdd.F_EnCode        = "lr-add";
                moduleButtonrAdd.F_FullName      = "新增";
                moduleButtonrAdd.F_SortCode      = 1;
                moduleButtonrAdd.F_ActionAddress = "/FormManage/FormModule/CustmerFormForm";
                moduleButtonrAdd.F_ParentId      = "0";
                moduleButtonrAdd.Create();
                db.Insert(moduleButtonrAdd);

                ModuleButtonEntity moduleButtonrEdit = new ModuleButtonEntity();
                moduleButtonrEdit.F_ModuleId      = moduleEntity.F_ModuleId;
                moduleButtonrEdit.F_EnCode        = "lr-edit";
                moduleButtonrEdit.F_FullName      = "编辑";
                moduleButtonrEdit.F_SortCode      = 2;
                moduleButtonrEdit.F_ActionAddress = "/FormManage/FormModule/CustmerFormForm";
                moduleButtonrEdit.F_ParentId      = "0";
                moduleButtonrEdit.Create();
                db.Insert(moduleButtonrEdit);

                ModuleButtonEntity moduleButtonrDelete = new ModuleButtonEntity();
                moduleButtonrDelete.F_ModuleId      = moduleEntity.F_ModuleId;
                moduleButtonrDelete.F_EnCode        = "lr-delete";
                moduleButtonrDelete.F_FullName      = "删除";
                moduleButtonrDelete.F_SortCode      = 3;
                moduleButtonrDelete.F_ActionAddress = "/FormManage/FormModule/CustmerFormRemove";
                moduleButtonrDelete.F_ParentId      = "0";
                moduleButtonrDelete.Create();
                db.Insert(moduleButtonrDelete);

                db.Commit();
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }