public string makeConstraint(string ReferencingTableNameName, string ReferencingColumnName, string ReferencedTableName, string ReferencedColumnName, bool AddDdData) { string ReturnVal = string.Empty; _CswConstraintDdlOps.add(ReferencingTableNameName, ReferencingColumnName, ReferencedTableName, ReferencedColumnName, AddDdData); _CswConstraintDdlOps.apply(ReferencingTableNameName, ReferencingColumnName); ReturnVal = _CswConstraintDdlOps.getConstraintName(ReferencingTableNameName, ReferencingColumnName, ReferencedTableName, ReferencedColumnName); if (string.Empty == ReturnVal) { throw (new CswDniException("A constraint name was not reported")); } Constraint AddedConstraint = new Constraint(); AddedConstraint.ReferencingTable = ReferencedTableName; AddedConstraint.ReferencingColumn = ReferencedColumnName; AddedConstraint.ConstraintName = ReturnVal; _Cosntraints.Add(AddedConstraint); return(ReturnVal); }//makeConstraint()
public void apply() { if (_DropColumnExists || CswEnumDdlTableOpType.Drop == DdlTableOpType) { _copyTable(); //_BackTableExists = true; }//if we're dropping if (CswEnumDdlTableOpType.Drop == DdlTableOpType) { if (CswEnumDdlProcessStatus.Applied != DdlProcessStatus) { if (dbg_ManageConstraints) { _CswConstraintDdlOps.apply(_TableName, string.Empty); } _CswNbtResources.CswResources.dropTable(_TableName); DdlProcessStatus = CswEnumDdlProcessStatus.Applied; } } else if (CswEnumDdlTableOpType.Add == DdlTableOpType) { if (CswEnumDdlProcessStatus.Applied != DdlProcessStatus) { _CswNbtResources.CswResources.addTable(_TableName, PkColumnName); if (dbg_ManageConstraints) { _CswConstraintDdlOps.apply(_TableName, string.Empty); } DdlProcessStatus = CswEnumDdlProcessStatus.Applied; } } foreach (CswColumnDdlOp CurrentColumn in _Columns.Values) { if (CswEnumDdlProcessStatus.Applied != CurrentColumn.DdlProcessStatus) { if (CswEnumDdlColumnOpType.Drop == CurrentColumn.DdlColumnOpType) { if (dbg_ManageConstraints) { _CswConstraintDdlOps.apply(_TableName, CurrentColumn.columnname); } _CswNbtResources.CswResources.dropColumn(_TableName, CurrentColumn.columnname); } else if (CswEnumDdlColumnOpType.Add == CurrentColumn.DdlColumnOpType) { _CswNbtResources.CswResources.addColumn(_TableName, CurrentColumn); if (dbg_ManageConstraints) { _CswConstraintDdlOps.apply(_TableName, CurrentColumn.columnname); } } else // DdlColumnOpType.Rename == CurrentColumn.DdlColumnOpType { _CswNbtResources.CswResources.renameColumn(_TableName, CurrentColumn.originalcolumnname, CurrentColumn.columnname); } CurrentColumn.DdlProcessStatus = CswEnumDdlProcessStatus.Applied; } //if column was not yet applied } //iterate columns } //apply()