Ejemplo n.º 1
0
        /// <summary>
        /// remove the given columns from the involved columns and replace it by the replacement
        /// </summary>
        /// <param name="column"></param>
        /// <param name="replacement"></param>
        public void removeColumn(DB.Column column, DB.Column replacement)
        {
            int columnIndex      = -1;
            int replacementIndex = -1;

            for (int i = 0; i < this.involvedColumns.Count; i++)
            {
                var currentColumn = involvedColumns[i];
                if (currentColumn == column)
                {
                    columnIndex = i;
                }
                if (currentColumn == replacement)
                {
                    replacementIndex = i;
                }
                if (columnIndex > -1 && replacementIndex > -1)
                {
                    break;                                                            //found both don't bother continuing
                }
            }
            if (columnIndex > -1 && columnIndex != replacementIndex)
            {
                //check if the replacement is not already there
                if (replacementIndex > -1)
                {
                    _involvedColumns.RemoveAt(columnIndex);
                }
                else
                {
                    //replace column by its replacement
                    this._involvedColumns[columnIndex] = (Column)replacement;
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// remove the given column from the involved columns
 /// </summary>
 /// <param name="column">the column to remove</param>
 public void removeColumn(DB.Column column)
 {
     if (involvedColumns.Contains(column))
     {
         _involvedColumns.Remove((Column)column);
     }
 }
 public void addColumn(DB.Column column)
 {
     //initialise columns
     if (this.columns != null)
     {
         this._columns.Add((Column)column);
     }
 }
 /// <summary>
 /// remove the given column from the table and replace it in constraints by the replacement columns
 /// </summary>
 /// <param name="column">the column to remove</param>
 /// <param name="replacement">the column to be used as replacement in constraints</param>
 public void removeColumn(DB.Column column, DB.Column replacement)
 {
     if (this.columns != null)
     {
         this._columns.Remove((Column)column);
     }
     foreach (var constraint in this.constraints.Where(x => x.involvedColumns.Contains(column)))
     {
         constraint.removeColumn(column, replacement);
     }
 }
Ejemplo n.º 5
0
        private List <DB.Column> getCorrespondingColumns()
        {
            var correspondingColumns = new List <DB.Column>();

            foreach (var involvedColumn in _involvedColumns)
            {
                DB.Column correspondingColumn = involvedColumn;
                if (involvedColumn.ownerTable != this.ownerTable)
                {
                    correspondingColumn = this.ownerTable.columns.FirstOrDefault(x => x.name == involvedColumn.name);
                }
                if (correspondingColumn != null)
                {
                    correspondingColumns.Add(correspondingColumn);
                }
            }
            return(correspondingColumns);
        }