Ejemplo n.º 1
0
        private void ValidateNodeAsRootNode(INode node)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            if(node.IsRootNode())
                throw new CannotMoveNodeException("Cannot move root node");
        }
Ejemplo n.º 2
0
        public bool IsParentOf(INode node)
        {
            if (node == null)
                return false;

            if (node.IsRootNode())
                return false;

            if (Id.Equals(node.Id))
                return false;

            var parent = node.ParentNode;
            do
            {
                if (parent.Id == Id)
                    return true;
            } while ((parent = parent.ParentNode) != null);

            return false;
        }