示例#1
0
        public List <NavigationItemDTO> GetNavigationTree(DR_Requester requester)
        {
            BizNavigationTree biz = new BizNavigationTree();

            var fullNavigation = biz.GetFullNavigatoinTree(requester);

            //ValidateTree(request.Requester, fullNavigation.TreeItems);

            var emptyFolders = fullNavigation.TreeItems.Where(x => x.ObjectCategory == DatabaseObjectCategory.Folder && !fullNavigation.TreeItems.Any(y => y.ParentID == x.ID)).ToList();

            foreach (var removeItem in emptyFolders)
            {
                RemoveTreeItem(fullNavigation.TreeItems, removeItem);
            }

            //     result.Structure = new List<DP_PackageTreeStructure>();

            //foreach (var item in context.TableDrivedEntity.Where(x => x.Table.Catalog == request.DatabaseName && x.IndependentDataEntry == true))
            //{
            //    DP_PackageTreeStructure nitem = new DP_PackageTreeStructure();
            //    nitem.Package = item;
            //    if (string.IsNullOrEmpty(item.Alias))
            //        nitem.Name = item.Name;
            //    else
            //        nitem.Name = item.Alias;
            //    result.Structure.Add(nitem);
            //    //result.Structure.Add(DP_PackageTreeStructureDBToND(item));
            //}
            return(fullNavigation.TreeItems);
        }