/// <summary>Create a instance, wrapping the specified proxy</summary> public ObjectClassNHibernateImpl(Func<IFrozenContext> lazyCtx, ObjectClassProxy proxy) : base(lazyCtx, proxy) // pass proxy to parent { this.Proxy = proxy; _isIsSimpleObjectSet = Proxy.ID > 0; _isIsFrozenObjectSet = Proxy.ID > 0; _isIsAbstractSet = Proxy.ID > 0; }
private void CreateNodes(IList <TreeNode> list, TreeNode root, ObjectClass obj) { foreach (TreeNode node in root.Nodes) { if (node.Tag is ObjectClassProxy) { ObjectClassProxy proxy = (ObjectClassProxy)node.Tag; if (proxy != null && proxy.ObjectClass == obj) { list.Add(node); } } this.CreateNodes(list, node, obj); } }
/// <summary> /// Возвращает элемент дерева, соответствующий шаблону obj. /// </summary> /// <param name="root">Элемент дерева, с которога начинается поиск.</param> /// <param name="obj">Исковый шаблон.</param> /// <returns>Элемент дерева, соответствующий шаблону obj.</returns> private TreeNode GetNode(TreeNode root, ObjectClass obj) { foreach (TreeNode node in root.Nodes) { if (node.Tag is ObjectClassProxy) { ObjectClassProxy proxy = (ObjectClassProxy)node.Tag; if (proxy != null && proxy.ObjectClass == obj) { return(node); } } TreeNode result = this.GetNode(node, obj); if (result != null) { return(result); } } return(null); }