/// <summary>Inserts a Exchange record.</summary> /// <param name="transaction">Commits or rejects a set of commands as a unit</param> /// <param name="name">The value for the Name column.</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> public static int Insert(AdoTransaction adoTransaction, SqlTransaction sqlTransaction, ref long rowVersion, string name, object externalId0, object externalId1, object externalId2, object externalId3) { // Accessor for the Exchange Table. ServerDataModel.ExchangeDataTable exchangeTable = ServerDataModel.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 = ServerDataModel.RowVersion.Increment(); // Insert the record into the ADO database. ServerDataModel.ExchangeRow exchangeRow = exchangeTable.NewExchangeRow(); exchangeRow[exchangeTable.RowVersionColumn] = rowVersion; exchangeRow[exchangeTable.NameColumn] = name; exchangeRow[exchangeTable.ExternalId0Column] = externalId0; exchangeRow[exchangeTable.ExternalId1Column] = externalId1; exchangeRow[exchangeTable.ExternalId2Column] = externalId2; exchangeRow[exchangeTable.ExternalId3Column] = externalId3; exchangeTable.AddExchangeRow(exchangeRow); adoTransaction.DataRows.Add(exchangeRow); // Insert the record into the SQL database. SqlCommand sqlCommand = new SqlCommand("insert \"Exchange\" (\"rowVersion\",\"ExchangeId\",\"Name\",\"ExternalId0\",\"ExternalId1\",\"" + "ExternalId2\",\"ExternalId3\") values (@rowVersion,@exchangeId,@name,@externalId0,@" + "externalId1,@externalId2,@externalId3)"); 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("@name", SqlDbType.NVarChar, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, name)); 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.ExecuteNonQuery(); // Return Statements return(exchangeRow.ExchangeId); }