Пример #1
0
        }         //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()
Пример #2
0
        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()