private void AddNode(AddressesNode node) { if (!this.IsExists(node)) { LocalAddress parent = (LocalAddress) ((LocalAddress) node.get_Tag()).Parent; if ((parent == null) || (parent == LocalAddress.Null)) { parent = ((LocalAddress) node.get_Tag()).GetParent(); } if (parent == LocalAddress.Null) { base.Nodes.Add(node); node.NullAdd(); } else { AddressesNode nodeByAddress = this.GetNodeByAddress(parent); if (nodeByAddress != null) { nodeByAddress.Nodes.Add(node); node.NullAdd(); } else { AddressesNode node3 = new AddressesNode(parent); this.AddNode(node3); node3.Nodes.Add(node); node.NullAdd(); } } } }
public void GetLeavesByRoot(ObjectList<LocalAddress> addresses, AddressesNode node) { node.NullDelete(); if ((node.Nodes.get_Count() == 0) || (node.ForeColor == Color)) { if (addresses.FindById(((LocalAddress) node.get_Tag()).Id) == null) { addresses.Add((LocalAddress) node.get_Tag()); } node.NullAdd(); } else { foreach (AddressesNode node2 in node.Nodes) { this.GetLeavesByRoot(addresses, node2); } } }