public ITable GetTable(int offset) { var tableInfo = GetTableInfo(offset); var table = new TriggeredOldNew(transaction.DatabaseContext, tableInfo); if (HasOldTable) { if (offset == 0) { // Copy data from the table to the new table var dtable = transaction.GetTable(transaction.TableState.TableSource); var oldRow = new Row(table); int rowIndex = transaction.TableState.OldRowIndex; for (int i = 0; i < tableInfo.ColumnCount; ++i) { oldRow.SetValue(i, dtable.GetValue(rowIndex, i)); } // All OLD tables are immutable table.SetReadOnly(true); table.SetData(oldRow); return(table); } } table.SetReadOnly(!transaction.TableState.IsNewMutable); table.SetData(transaction.TableState.NewDataRow); return(table); }
public ITable GetTable(int offset) { var tableInfo = GetTableInfo(offset); var table = new TriggeredOldNew(transaction.DatabaseContext, tableInfo); if (HasOldTable) { if (offset == 0) { // Copy data from the table to the new table var dtable = transaction.GetTable(transaction.TableState.TableSource); var oldRow = new Row(table); int rowIndex = transaction.TableState.OldRowIndex; for (int i = 0; i < tableInfo.ColumnCount; ++i) { oldRow.SetValue(i, dtable.GetValue(rowIndex, i)); } // All OLD tables are immutable table.SetReadOnly(true); table.SetData(oldRow); return table; } } table.SetReadOnly(!transaction.TableState.IsNewMutable); table.SetData(transaction.TableState.NewDataRow); return table; }