public MetaDomainModelBuilder DomainNodeType(string name, string extends) { _currentProperty = null; _currentReference = null; _currentDomainNodeType = new DomainNodeType { Name = name, Extends = extends }; _result.DomainNodeTypes.Add(_currentDomainNodeType); return this; }
public DataLayerMetaDomainModel() : base("DataLayer") { Uri = "http://bax.org/tree2soft/treemodel/datalayer"; Author = "Stefano Bassoli"; Version = "1.0.0"; m.Property pDomain = new m.Property() { Name = "Domain", Domain = "String", RequireDataType = true }; m.Property pCaption = new m.Property() { Name = "Caption", Domain = "String" }; m.Property pManySideRole = new m.Property() { Name = "ManySideRole", Domain = "String" }; m.Property pOneSideRole = new m.Property() { Name = "OneSideRole", Domain = "String" }; m.DomainNodeType cDataLayer = new m.DomainNodeType { Name = "DataLayer" }; cDataLayer.IsIDomainModel = true; m.DomainNodeType cTable = new m.DomainNodeType { Name = "Table" }; cTable.Properties.Add(pCaption); m.Reference rDataLayerTables = new m.Reference() { Name = "DataLayer", ManySideRole = "Tables" }; cTable.References.Add(rDataLayerTables); m.DomainNodeType cColumn = new m.DomainNodeType() { Name = "Column", }; cColumn.Properties.Add(pDomain); cColumn.Properties.Add(pCaption); m.Reference rTableColumns = new m.Reference() { Name = "Table", ManySideRole = "Columns", OneSideRole = "Table" }; cColumn.References.Add(rTableColumns); m.DomainNodeType cReference = new m.DomainNodeType { Name = "Reference" }; cReference.Properties.Add(pManySideRole); cReference.Properties.Add(pOneSideRole); m.Reference rTableReferences = new m.Reference() { Name = "Table", ManySideRole = "References" }; cReference.References.Add(rTableReferences); this.DomainNodeTypes.Add(cDataLayer); this.DomainNodeTypes.Add(cTable); this.DomainNodeTypes.Add(cColumn); this.DomainNodeTypes.Add(cReference); }