Esempio n. 1
0
        public List <SysUserGroup> RecursiveGetUserGroup(List <SysUserGroup> data, SysUserGroup child)
        {
            //取出父级
            List <SysUserGroup> userGroups = new List <SysUserGroup>();

            userGroups.Add(child);

            //查看还有无父级
            var parents = data.Where(e => e.UserGroupId == child.ParentId).ToList();

            if (parents.Count <= 0)
            {
                return(userGroups);
            }

            var child_entity = data.FirstOrDefault(e => e.UserGroupId == child.UserGroupId);

            if (child_entity != null)
            {
                data.Remove(child_entity);
            }
            foreach (var parent in parents)
            {
                userGroups.AddRange(RecursiveGetUserGroup(data, parent));
            }
            return(userGroups);
        }
Esempio n. 2
0
        /// <summary>
        /// 递归获取功能模块
        /// 并整理成树形结构
        /// </summary>
        /// <param name="data"></param>
        /// <param name="parent"></param>
        /// <returns></returns>
        private UserGroupStructure Recursive(List <SysUserGroup> data, SysUserGroup parent)
        {
            var module = new UserGroupStructure()
            {
                Id    = parent.UserGroupId,
                Level = (int)parent.UserGroupLevel,
                Name  = parent.UserGroupName
            };
            //移除自身
            var childs = data.Where(e => e.ParentId == parent.UserGroupId).ToList();

            if (childs.Count == 0)
            {
                return(module);
            }
            var parent_entity = data.FirstOrDefault(e => e.UserGroupId == parent.UserGroupId);

            if (parent_entity != null)
            {
                data.Remove(parent_entity);
            }
            foreach (var child in childs)
            {
                module.ListChilds.Add(Recursive(data.Where(e => e.ParentId == child.UserGroupId).ToList(), child));
            }
            return(module);
        }
Esempio n. 3
0
        public void GroupUser()
        {
            SysGroup TEMP = Session.Get <SysGroup>(3);

            //SysGroup g = new SysGroup();
            //g.CreateDate = g.ModifiedDate = DateTime.Now;
            //g.GroupName = "测试组";
            //g.OrderBy = 1;
            //g.Status = Convert.ToByte(new Random().Next(4));
            //g.SysUserGroupList=new List<SysUserGroup>();

            SysUserGroup gu = new SysUserGroup();

            gu.SysGroup = TEMP;
            SysUser u = Session.Get <SysUser>(5);

            gu.SysUser = u;

            //g.SysUserGroupList.Add(gu);

            Session.Save(gu);
        }
Esempio n. 4
0
        /// <summary>
        /// 递归获取模块
        /// 返回list  用于删除
        /// </summary>
        /// <param name="data"></param>
        /// <param name="parent"></param>
        /// <returns></returns>
        private List <SysUserGroup> RecursiveList(List <SysUserGroup> data, SysUserGroup parent)
        {
            List <SysUserGroup> SysUserGroup = new List <SysUserGroup>();

            SysUserGroup.Add(parent);
            var childs = data.Where(e => e.ParentId == parent.UserGroupId).ToList();

            if (childs.Count == 0)
            {
                return(SysUserGroup);
            }
            var parent_entity = data.FirstOrDefault(e => e.UserGroupId == parent.UserGroupId);

            if (parent_entity != null)
            {
                data.Remove(parent_entity);
            }
            foreach (var child in childs)
            {
                SysUserGroup.AddRange(RecursiveList(data.Where(e => e.ParentId == child.UserGroupId).ToList(), child));
            }
            return(SysUserGroup);
        }
 public int Update(SysUserGroup sysUserGroup)
 {
     return(SysUserGroupRepository.Update(sysUserGroup));
 }
 public int Insert(SysUserGroup sysUserGroup)
 {
     return(SysUserGroupRepository.Insert(sysUserGroup));
 }
Esempio n. 7
0
        public async Task <FuncResult> Add(UserGroupModel model, string currentUserId)
        {
            //模块名称不能重复
            if (_context.SysUserGroup.FirstOrDefault(e => e.UserGroupName == model.Name) != null)
            {
                return(new FuncResult()
                {
                    IsSuccess = false, Message = "模块名不能重复!"
                });
            }
            int level = 1;

            if (!string.IsNullOrWhiteSpace(model.ParentId))
            {
                var parent_entity = _context.SysUserGroup.FirstOrDefault(e => e.UserGroupId == model.ParentId);
                if (parent_entity == null)
                {
                    return(new FuncResult()
                    {
                        IsSuccess = false, Message = "父级ID错误"
                    });
                }
                level = (int)parent_entity.UserGroupLevel + 1;
            }

            var entity = new SysUserGroup()
            {
                UserGroupId    = Guid.NewGuid().ToString(),
                UserGroupName  = model.Name,
                UserGroupLevel = level,
                ParentId       = model.ParentId,


                LastUpdatedBy  = currentUserId,
                LastUpdateDate = DateTime.Now,

                CreatedBy    = currentUserId,
                CreationDate = DateTime.Now
            };
            await _context.SysUserGroup.AddAsync(entity);

            using (Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction trans = _context.Database.BeginTransaction())
            {
                try
                {
                    await _context.SaveChangesAsync();

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    return(new FuncResult()
                    {
                        IsSuccess = false, Content = ex.Message
                    });
                }
            }
            return(new FuncResult()
            {
                IsSuccess = true, Content = entity, Message = "添加成功"
            });
        }
 public SysUserGroupExistException(SysUserGroup _group, Exception innerException) : base(O2.Languages.Errors.SYSUSERGROUP_ALREADY_EXISTS_IN_DB.Replace("{G}", _group.group), "_group", innerException)
 {
 }