Beispiel #1
0
 public Org(DbAccess.T_QWF_Org dbModel, BLL.OrgHelper helper)
 {
     this.dbModel = dbModel;
     this.helper  = helper;
 }
Beispiel #2
0
        public Org CreateOrgInfo(SvrModels.SvrOrgInfo info)
        {
            var dbModel = new DbAccess.T_QWF_Org();

            dbModel.OrgCode      = info.OrgCode;
            dbModel.OrgName      = info.OrgName;
            dbModel.OrgAttribute = (int)info.OrgAttribute;
            dbModel.IsOut        = info.IsOut;
            dbModel.ParentId     = info.ParentId;
            dbModel.CreateTime   = SvrUser.CurrentTime;
            dbModel.CreateUserId = SvrUser.UserId;
            dbModel.Remarks      = info.Remarks;
            dbModel.IsSubNode    = 1;
            //关键参数
            dbModel.ParentId = info.ParentId;
            string orgIdList = string.Empty;

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

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


                var qrySort = DbContext.T_QWF_Org.Where(w => w.ParentId == info.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_Org.Add(dbModel);
            DbContext.SaveChanges();

            //这里再修改OrgIdList;
            dbModel.OrgIdList = orgIdList + dbModel.OrgId + ",";

            var org = new Org(dbModel, this);

            org.UpdateOrgPath(dbModel.OrgId);

            return(org);
        }