/// <summary>Inserts a Exchange record.</summary> /// <param name="transaction">Commits or rejects a set of commands as a unit</param> /// <param name="externalId0">The value for the ExternalId0 column.</param> /// <param name="externalId1">The value for the ExternalId1 column.</param> /// <param name="externalId2">The value for the ExternalId2 column.</param> /// <param name="externalId3">The value for the ExternalId3 column.</param> /// <param name="name">The value for the Name column.</param> public static int Insert(AdoTransaction adoTransaction, SqlTransaction sqlTransaction, ref long rowVersion, object externalId0, object externalId1, object externalId2, object externalId3, string name) { // Accessor for the Exchange Table. ServerMarketData.ExchangeDataTable exchangeTable = ServerMarketData.Exchange; // Apply Defaults if ((externalId0 == null)) { externalId0 = System.DBNull.Value; } if ((externalId1 == null)) { externalId1 = System.DBNull.Value; } if ((externalId2 == null)) { externalId2 = System.DBNull.Value; } if ((externalId3 == null)) { externalId3 = System.DBNull.Value; } // Increment the row version rowVersion = ServerMarketData.RowVersion.Increment(); // Insert the record into the ADO database. ServerMarketData.ExchangeRow exchangeRow = exchangeTable.NewExchangeRow(); exchangeRow[exchangeTable.RowVersionColumn] = rowVersion; exchangeRow[exchangeTable.ExternalId0Column] = externalId0; exchangeRow[exchangeTable.ExternalId1Column] = externalId1; exchangeRow[exchangeTable.ExternalId2Column] = externalId2; exchangeRow[exchangeTable.ExternalId3Column] = externalId3; exchangeRow[exchangeTable.NameColumn] = name; exchangeTable.AddExchangeRow(exchangeRow); adoTransaction.DataRows.Add(exchangeRow); // Insert the record into the SQL database. SqlCommand sqlCommand = new SqlCommand("insert \"Exchange\" (\"rowVersion\",\"ExchangeId\",\"ExternalId0\",\"ExternalId1\",\"Externa" + "lId2\",\"ExternalId3\",\"Name\") values (@rowVersion,@exchangeId,@externalId0,@extern" + "alId1,@externalId2,@externalId3,@name)"); sqlCommand.Connection = sqlTransaction.Connection; sqlCommand.Transaction = sqlTransaction; sqlCommand.Parameters.Add(new SqlParameter("@rowVersion", SqlDbType.BigInt, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, rowVersion)); sqlCommand.Parameters.Add(new SqlParameter("@exchangeId", SqlDbType.Int, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, exchangeRow[exchangeTable.ExchangeIdColumn])); sqlCommand.Parameters.Add(new SqlParameter("@externalId0", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, externalId0)); sqlCommand.Parameters.Add(new SqlParameter("@externalId1", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, externalId1)); sqlCommand.Parameters.Add(new SqlParameter("@externalId2", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, externalId2)); sqlCommand.Parameters.Add(new SqlParameter("@externalId3", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, externalId3)); sqlCommand.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, name)); sqlCommand.ExecuteNonQuery(); // Return Statements return(exchangeRow.ExchangeId); }