private void SetNodeRecursively(HierarchyStructureNode node)
 {
     node.Id = 0;
     if (node.ChildNode != null)
     {
         this.SetNodeRecursively(node.ChildNode);
     }
 }
Example #2
0
        private async Task LoadRecursively(HierarchyStructureNode node)
        {
            node.ChildNode =
                await this.unitOfWork.HierarchyStructureNodeRepository.GetSingleAsync(n => n.ParentNodeId == node.Id);

            if (node.ChildNode != null)
            {
                await this.LoadRecursively(node.ChildNode);
            }
        }
Example #3
0
        private void SetParentNodeForNode(
            HierarchyStructureNode node,
            IReadOnlyCollection <HierarchyStructureNode> originalNodes)
        {
            if (node.ChildNode == null)
            {
                return;
            }

            node.ChildNode.ParentNode =
                node.Id == 0 ? node : originalNodes.FirstOrDefault(n => n.Id == node.Id) ?? node;
            node.ChildNode.ParentNodeId = node.ChildNode.ParentNode.Id;
            this.SetParentNodeForNode(node.ChildNode, originalNodes);
        }