Tortuga.Chain.PostgreSqlDataSource.Execute C# (CSharp) Method

Execute() protected method

Executes the specified operation.
/// executionToken;executionToken is null. /// or /// implementation;implementation is null. ///
protected Execute ( NpgsqlTransaction>.OperationExecutionToken executionToken, NpgsqlTransaction>.OperationImplementation implementation, object state ) : int?
executionToken NpgsqlTransaction>.OperationExecutionToken The execution token.
implementation NpgsqlTransaction>.OperationImplementation The implementation.
state object The state.
return int?
        protected override int? Execute(OperationExecutionToken<NpgsqlConnection, NpgsqlTransaction> executionToken, OperationImplementation<NpgsqlConnection, NpgsqlTransaction> implementation, object state)
        {
            if (executionToken == null)
                throw new ArgumentNullException("executionToken", "executionToken is null.");
            if (implementation == null)
                throw new ArgumentNullException("implementation", "implementation is null.");

            var startTime = DateTimeOffset.Now;
            OnExecutionStarted(executionToken, startTime, state);

            try
            {
                using (var con = CreateConnection())
                {
                    var rows = implementation(con, null);
                    OnExecutionFinished(executionToken, startTime, DateTimeOffset.Now, rows, state);
                    return rows;
                }
            }
            catch (Exception ex)
            {
                OnExecutionError(executionToken, startTime, DateTimeOffset.Now, ex, state);
                throw;
            }
        }

Same methods

PostgreSqlDataSource::Execute ( NpgsqlParameter>.CommandExecutionToken executionToken, CommandImplementation implementation, object state ) : int?