public DB2ColumnTransformer(Table table, Column involvedColumn,DB2TableTransformer dependingTransformer,NameTranslator nameTranslator) : this(table,nameTranslator) { this._involvedColumn = involvedColumn; this._dependingTransformer = dependingTransformer; _column = new Column((DB_EA.Table)table, involvedColumn.name); _column.type = involvedColumn.type; _column.logicalAttribute = ((DB_EA.Column)involvedColumn).logicalAttribute; if (dependingTransformer.associationEnd != null) { if (dependingTransformer.associationEnd.lower > 0 ) { _column.isNotNullable = true; } } }
public EDDColumn(DB_EA.Column wrappedColumn, EDDTable table, GlossaryManagerSettings settings) { this._wrappedColumn = wrappedColumn; this.table = table; this.settings = settings; }
public override DB.DatabaseItem createAsNewItem(DB.DatabaseItem owner, bool save = true) { Table newTable = owner as Table; Database existingDatabase = owner as Database; if (newTable == null) { //look for corresponding table in existingDatabase newTable = (Table)existingDatabase.tables.FirstOrDefault(x => x.name == this.ownerTable.name); } if (newTable != null) { var newColumn = new Column(newTable,this.name); newColumn.isNotNullable = _isNotNullable; newColumn.type = _type; newColumn.logicalAttribute = _logicalAttribute; newColumn.isOverridden = isOverridden; newColumn.isRenamed = isRenamed; newColumn.position = _position; newColumn.derivedFromItem = this; if (save) newColumn.save(); return newColumn; } return null; }
public DB2ColumnTransformer(Table table, Column column, UTF_EA.Attribute attribute,NameTranslator nameTranslator) : this(table,nameTranslator) { this.logicalProperty = attribute; this.column = column; }
/// <summary> /// gets te columns that corresponds to the given column. /// If the properties are exactly the same then this column is returned. /// If not the columns that is based on the same logical attribute is returned. /// </summary> /// <param name="newColumn">the column to compare to</param> /// <returns>the corresponding column</returns> public Column getCorrespondingColumn(Column newColumn, List<Column> alreadyMappedColumns) { var correspondingColumn = this.columns.FirstOrDefault( x => x.name + x.properties == newColumn.name + newColumn.properties && !alreadyMappedColumns.Contains(x)); if (correspondingColumn == null) correspondingColumn = this._columns.FirstOrDefault( x => x.logicalAttribute != null && x.logicalAttribute.Equals(newColumn.logicalAttribute) && !alreadyMappedColumns.Contains(x)); if (correspondingColumn == null && alreadyMappedColumns != null && alreadyMappedColumns.Count > 0) correspondingColumn = getCorrespondingColumn(newColumn, new List<Column>());//try again without the list of already mapped columns return correspondingColumn as Column; }