Exemplo n.º 1
0
            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);
            }
Exemplo n.º 2
0
            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;
            }