/// <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;
 }
예제 #2
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);
            }
        }
예제 #3
0
        /// <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);
        }