Exemplo n.º 1
0
        public ClassGeneratorHelper(IObjectSpace XPObjectSpace)
        {
            _persistentAssemblyInfo      = XPObjectSpace.CreateObject <PersistentAssemblyInfo>();
            _persistentAssemblyInfo.Name = "PersistentAssemblyInfo";
            _persistentClassInfo         = XPObjectSpace.CreateObject <PersistentClassInfo>();
            _persistentClassInfo.Name    = "MainTable";
            _persistentAssemblyInfo.PersistentClassInfos.Add(_persistentClassInfo);
            _persistentClassInfo.SetDefaultTemplate(TemplateType.Class);
            _classGeneratorInfos = new Dictionary <string, ClassGeneratorInfo>();
            var classGeneratorInfo = new ClassGeneratorInfo(PersistentClassInfo, DbTable);

            _classGeneratorInfos.Add(PersistentClassInfo.Name, classGeneratorInfo);
        }
Exemplo n.º 2
0
        static void createClass()
        {
            var persistentClassInfo = new PersistentClassInfo(UnitOfWork)
            {
                PersistentAssemblyInfo = _persistentAssemblyInfo, CodeTemplateInfo = new CodeTemplateInfo(UnitOfWork)
            };
            var codeTemplate = new CodeTemplate(UnitOfWork)
            {
                TemplateType = TemplateType.Class, CodeDomProvider = CodeDomProvider.VB
            };

            codeTemplate.SetDefaults();
            persistentClassInfo.CodeTemplateInfo.TemplateInfo = codeTemplate;
        }
Exemplo n.º 3
0
        public CompoundPKMemberGeneratorHelper(IObjectSpace XPObjectSpace)
            : base(XPObjectSpace)
        {
            _dbColumn1 = new DBColumn {
                Name = "DBColumn1", ColumnType = DBColumnType.Int32
            };
            _dbColumn2 = new DBColumn {
                Name = "DBColumn2", ColumnType = DBColumnType.Int32
            };
            var dbColumns = new[] { _dbColumn1, _dbColumn2 };

            DbTable.Columns.AddRange(dbColumns);
            DbTable.PrimaryKey              = new DBPrimaryKey(dbColumns);
            _structPersistentClassInfo      = XPObjectSpace.CreateObject <PersistentClassInfo>();
            _structPersistentClassInfo.Name = "MainTable" + TableMapper.KeyStruct;
            _structPersistentClassInfo.PersistentAssemblyInfo = (PersistentAssemblyInfo)PersistentAssemblyInfo;
            _structPersistentClassInfo.SetDefaultTemplate(TemplateType.Struct);
            ClassGeneratorInfos.Add(_structPersistentClassInfo.Name, new ClassGeneratorInfo(StructPersistentClassInfo, DbTable));
        }
Exemplo n.º 4
0
        public override void Update()
        {
            var unitOfWork = new UnitOfWork(Session.DataLayer);

            if (unitOfWork.FindObject <PersistentAssemblyInfo>(null) != null)
            {
                return;
            }
            var persistentAssemblyInfo = new PersistentAssemblyInfo(unitOfWork)
            {
                Name = "TestAssembly"
            };
            var persistentClassInfo = new PersistentClassInfo(unitOfWork)
            {
                PersistentAssemblyInfo = persistentAssemblyInfo
            };

            persistentAssemblyInfo.PersistentClassInfos.Add(persistentClassInfo);
            persistentClassInfo.SetDefaultTemplate(TemplateType.Class);
            persistentClassInfo.Name             = "TestClassInfo";
            persistentClassInfo.BaseType         = typeof(Customer);
            persistentClassInfo.MergedObjectType = typeof(Customer);
            persistentClassInfo.TypeAttributes.Add(new PersistentDefaultClassOptionsAttribute(unitOfWork));
            persistentClassInfo.TypeAttributes.Add(new PersistentMapInheritanceAttribute(unitOfWork)
            {
                MapInheritanceType = MapInheritanceType.ParentTable
            });
            var persistentCoreTypeMemberInfo = new PersistentCoreTypeMemberInfo(unitOfWork)
            {
                DataType = DBColumnType.String,
                Name     = "TestProp"
            };

            persistentClassInfo.OwnMembers.Add(persistentCoreTypeMemberInfo);
            persistentCoreTypeMemberInfo.SetDefaultTemplate(TemplateType.ReadWriteMember);


            unitOfWork.CommitChanges();
        }
Exemplo n.º 5
0
        public RefMemberGeneratorHelper(IObjectSpace XPObjectSpace)
            : base(XPObjectSpace)
        {
            var column = new DBColumn("Oid", false, "int", 0, DBColumnType.Int32);

            DbTable.PrimaryKey = new DBPrimaryKey(new[] { column });
            var dbColumn = new DBColumn {
                Name = "DBColumn", ColumnType = DBColumnType.Int32
            };

            DbTable.Columns.Add(dbColumn);
            DbTable.Columns.Add(column);
            var refDbColumn = new DBColumn {
                Name = "refDbColumn", ColumnType = DBColumnType.Int32, IsKey = true
            };

            DbTable.Columns.Add(refDbColumn);
            var primaryKeyTableKeyColumns = new StringCollection {
                "refDbColumn"
            };

            DbTable.ForeignKeys.Add(new DBForeignKey(new List <DBColumn> {
                refDbColumn
            }, _refDbTable.Name, primaryKeyTableKeyColumns));

            var item = new DBColumn("Oid", true, "int", 0, DBColumnType.Int32);

            _refDbTable.Columns.Add(item);
            _refDbTable.PrimaryKey       = new DBPrimaryKey(new[] { item });
            _refPersistentClassInfo      = XPObjectSpace.CreateObject <PersistentClassInfo>();
            _refPersistentClassInfo.Name = RefDbTable.Name;
            PersistentAssemblyInfo.PersistentClassInfos.Add(_refPersistentClassInfo);
            _refPersistentClassInfo.SetDefaultTemplate(TemplateType.Class);


            ClassGeneratorInfos.Add(_refPersistentClassInfo.Name, new ClassGeneratorInfo(_refPersistentClassInfo, RefDbTable));
        }