} //apply() public void revert() { if (CswEnumDdlTableOpType.Add == DdlTableOpType) { if (CswEnumDdlProcessStatus.Applied == DdlProcessStatus) { if (dbg_ManageConstraints) { _CswConstraintDdlOps.revert(_TableName, string.Empty); } _CswNbtResources.CswResources.dropTable(_TableName); } DdlProcessStatus = CswEnumDdlProcessStatus.Reverted; } else if (CswEnumDdlTableOpType.Drop == DdlTableOpType) { if (CswEnumDdlProcessStatus.Applied == DdlProcessStatus) { _CswNbtResources.CswResources.copyTable(_TableCopyName, _TableName); if (dbg_ManageConstraints) { _CswConstraintDdlOps.revert(_TableName, string.Empty); } } DdlProcessStatus = CswEnumDdlProcessStatus.Reverted; } else { foreach (CswColumnDdlOp CurrentColumnDdlOp in _Columns.Values) { if (CswEnumDdlProcessStatus.Applied == CurrentColumnDdlOp.DdlProcessStatus) { _revertColumn(CurrentColumnDdlOp); CurrentColumnDdlOp.DdlProcessStatus = CswEnumDdlProcessStatus.Reverted; } } } if (string.Empty != _TableCopyName && _CswNbtResources.CswResources.isTableDefinedInDataBase(_TableCopyName)) { _CswNbtResources.CswResources.dropTable(_TableCopyName); } }//revert()
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()