Example #1
0
        public Config CreateConfigNode(int parentId, string configName)
        {
            var dbModel = new DbAccess.T_QWF_Config();

            dbModel.ConfigName = configName;
            dbModel.ParentId   = parentId;

            dbModel.CreateTime   = SvrUser.CurrentTime;
            dbModel.CreateUserId = SvrUser.UserId;

            //关键参数
            string configIdList = string.Empty;

            if (parentId == 0)
            {
                //顶级节点
                dbModel.LayerId = 1;
                dbModel.SortId  = 0;
                configIdList    = ",";
            }
            else
            {
                //找到父节点信息
                var dbParentNode = DbContext.T_QWF_Config.Where(w => w.ConfigId == parentId && w.IsDelete == 0).FirstOrDefault();
                if (dbParentNode == null)
                {
                    throw new UIValidateException("上级节点信息获取失败");
                }

                //设置当前节点信息
                dbModel.LayerId = dbParentNode.LayerId + 1;//层级+1
                configIdList    = dbParentNode.ConfigIdList;

                var qrySort = DbContext.T_QWF_Config.Where(w => w.ParentId == parentId && w.IsDelete == 0);
                if (qrySort.Count() == 0)
                {
                    dbModel.SortId = 1;
                }
                else
                {
                    //获取父接点下的子节点最大的SortId + 1
                    dbModel.SortId = qrySort.Max(m => m.SortId) + 1;
                }

                //更新父节点的IsSubNode
                dbParentNode.IsSubNode = 1;
            }

            //这里要获取到自增ID,只能这样做了
            DbContext.T_QWF_Config.Add(dbModel);
            DbContext.SaveChanges();

            //这里再修改OrgIdList;
            dbModel.ConfigIdList = configIdList + dbModel.ConfigId + ",";


            return(new Config(dbModel, this));
        }
Example #2
0
 public Config(DbAccess.T_QWF_Config dbModel, BLL.ConfigHelper helper)
 {
     this.dbModel = dbModel;
     this.helper  = helper;
 }