Ejemplo n.º 1
0
        public async Task ExecuteAsync(ICommandAsync command)
        {
            if (this.externalTransactionScope != null)
            {
                using (var connection = await this.connectionFactory.GetOpenConnectionAsync())
                {
                    await command.ExecuteAsync(connection);
                }
            }
            else
            {
                using (var transactionScope = new TransactionScope(TransactionScopeOption.Required))
                {
                    using (var connection = await this.connectionFactory.GetOpenConnectionAsync())
                    {
                        await command.ExecuteAsync(connection);
                    }

                    transactionScope.Complete();
                }
            }
        }
Ejemplo n.º 2
0
        public async Task <T> ExecuteAsync <T>(ICommandAsync <T> command)
        {
            if (this.externalTransactionScope != null)
            {
                using (var connection = await this.connectionFactory.GetOpenConnectionAsync())
                {
                    T result = await command.ExecuteAsync(connection);

                    return(result);
                }
            }

            using (var transactionScope = new TransactionScope(TransactionScopeOption.Required))
            {
                using (var connection = await this.connectionFactory.GetOpenConnectionAsync())
                {
                    T result = await command.ExecuteAsync(connection);

                    transactionScope.Complete();
                    return(result);
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Executes a prebuilt <see cref="ICommandAsync" />
 /// </summary>
 /// <param name="commandAsync">The command asynchronous.</param>
 /// <returns>Task&lt;System.Int32&gt;.</returns>
 public virtual async Task <int> ExecuteAsync(ICommandAsync commandAsync)
 {
     return(await commandAsync.ExecuteAsync(Executor));
 }
Ejemplo n.º 4
0
 public static async Task ExecuteAsync(this CloudTable table, ICommandAsync <CloudTable> command)
 {
     await command.ExecuteAsync(table);
 }
Ejemplo n.º 5
0
 protected async Task<bool> ExecuteAsync(ICommandAsync cmd)
 {
     return await cmd.ExecuteAsync(_eventHandler);
 }
Ejemplo n.º 6
0
 public bool Execute(ICommandAsync cmd)
 {
     return cmd.ExecuteAsync(_eventHandler).Result;
 }