예제 #1
0
        public Collections.Tree <T> ToTree(string primaryKeyName, string parentReferenceName)
        {
            DataAspectMember primaryKeyMember      = this._Aspect[primaryKeyName];
            DataAspectMember parentReferenceMember = this._Aspect[parentReferenceName];

            Collections.Tree <T> tree = new Collections.Tree <T>();

            foreach (T item in this)
            {
                object key = parentReferenceMember.GetValue(item);
                Collections.TreeNode <T> parent = null;
                if (!ValidationHelper.IsNullOrEmpty(key))
                {
                    parent = tree.DepthSearch(primaryKeyMember, key);
                }
                if (parent != null)
                {
                    parent.AddLast(item);
                }
                else
                {
                    tree.AddLast(item);
                }
            }

            return(tree);
        }
예제 #2
0
        protected override bool CreateAspectFor(ClassAcessor acessor, out DataAspectMember member)
        {
            DatabaseColumnAttribute dca = acessor.GetAttribute<DatabaseColumnAttribute>(true);
            if (dca == null)
            {
                member = null;
                return false;
            }
            else
            {
                member = new DataAspectMember(
                    acessor,
                    dca.StoredName,
                    dca.ColumnKind == DatabaseColumnKind.Identity,
                    dca.ColumnKind == DatabaseColumnKind.Unique,
                    dca.ColumnKind == DatabaseColumnKind.PrimaryKey,
                    dca.IsNullable,
                    acessor.GetAttribute<Generator>(true));

                return true;
            }
        }
예제 #3
0
        protected override bool CreateAspectFor(ClassAcessor acessor, out DataAspectMember member)
        {
            DatabaseColumnAttribute dca = acessor.GetAttribute <DatabaseColumnAttribute>(true);

            if (dca == null)
            {
                member = null;
                return(false);
            }
            else
            {
                member = new DataAspectMember(
                    acessor,
                    dca.StoredName,
                    dca.ColumnKind == DatabaseColumnKind.Identity,
                    dca.ColumnKind == DatabaseColumnKind.Unique,
                    dca.ColumnKind == DatabaseColumnKind.PrimaryKey,
                    dca.IsNullable,
                    acessor.GetAttribute <Generator>(true));

                return(true);
            }
        }