예제 #1
0
        /// <summary>
        /// Metod koj go polni i vraka mnozestvoto NBOTreeHierarchicalEnumerable
        /// so elementi - deca na konkreten korisnik (userID)
        /// </summary>
        /// <returns>IHierarchicalEnumerable</returns>
        public IHierarchicalEnumerable GetChildren()
        {
            NBOTreeHierarchicalEnumerable children = new NBOTreeHierarchicalEnumerable();

            foreach (INBOTreeNode item in treeItem.GetChildren(userId))
            {
                children.Add(item);
            }
            return(children);
        }
예제 #2
0
        /// <summary>
        /// Metod koj vrsi override na Select od klasata IHierarchicalEnumerable so cel
        /// koj vo zavisnost od vrednosta na atributot _viewPath go polni
        /// numeriranoto mnozestvo IHierarchicalEnumerable so zaglavija (ako _viewPath e prazno)
        /// ili so decata od hierarhijata na konkretniot korisnik (ako _viewPath ima vrednost)
        /// </summary>
        /// <returns>NBOTreeHierarchicalEnumerable</returns>
        public override IHierarchicalEnumerable Select()
        {
            NBOTreeHierarchicalEnumerable result = new NBOTreeHierarchicalEnumerable();

            List <INBOTreeNode> roots = new List <INBOTreeNode>();

            if (_viewPath == "")
            {
                if (_typeName == "WebPage")
                {
                    roots.AddRange(new WebPage().GetRoots(_userId));
                }
                if (_typeName == "User")
                {
                    roots.AddRange(new Broker.DataAccess.User().GetRoots(_userId));
                }

                if (_typeName == "OrdinaryUser")
                {
                    roots.AddRange(new OrdinaryUser().GetRoots(_userId));
                }

                if (_typeName == "SEUser")
                {
                    roots.AddRange(new SEUser().GetRoots(_userId));
                }
            }
            else
            {
                if (_typeName == "WebPage")
                {
                    INBOTreeNode node = new WebPage().GetById(Convert.ToInt32(_viewPath));
                    roots.AddRange(node.GetChildren(_userId));
                }
                if (_typeName == "User")
                {
                    INBOTreeNode node = new Broker.DataAccess.User().GetById(Convert.ToInt32(_viewPath));
                    roots.AddRange(node.GetChildren(_userId));
                }

                if (_typeName == "OrdinaryUser")
                {
                    INBOTreeNode node = new OrdinaryUser().GetById(Convert.ToInt32(_viewPath));
                    roots.AddRange(node.GetChildren(_userId));
                }

                if (_typeName == "SEUser")
                {
                    INBOTreeNode node = new SEUser().GetById(Convert.ToInt32(_viewPath));
                    roots.AddRange(node.GetChildren(_userId));
                }
            }
            if (first)
            {
                foreach (INBOTreeNode node in roots)
                {
                    result.Add(new NBOTreeHierarchyData(node, _userId, _typeName));
                }
            }
            first = false;
            return(result);
        }