BeiDream.Demo.Domain.DomainServices.Impl.ResourceDomainService.GetNavigationModule C# (CSharp) Метод

GetNavigationModule() публичный Метод

public GetNavigationModule ( System.Guid userId ) : List
userId System.Guid
Результат List
        public List<Resource> GetNavigationModule(Guid userId)
        {
            var user = _userRepository.Find(userId);
            if (user.Roles.Any(p => p.IsAdmin))  //用户角色含有超级管理员角色将加载全部导航模块
                return ResourceRepository.GetAll().Where(p => p.Type == ResourceType.Module && p.Enabled).ToList();
            //todo:以下代码有待改进
            var list= ResourceRepository.GetAll().Include(p=>p.Permissions).
                Where(item => item.Type == ResourceType.Module
                    && item.Enabled).ToList();
            List<Resource> li= list.Where(item => user.Roles.Any(role => item.Permissions.Any(p => p.RoleId == role.Id))).ToList();
            return li;
        }