Exemplo n.º 1
0
        public Task Handle(OrderSubmitted message, IMessageHandlerContext context)
        {
            log.Info($"Order {message.OrderId} worth {message.Value} persisted by Dapper");

            #region StoreDataDapper

            var session = context.SynchronizedStorageSession.SqlPersistenceSession();

            var order = new SubmittedOrder
            {
                Id    = $"Dapper-{message.OrderId}",
                Value = message.Value,
            };

            var sql = @"insert into receiver.SubmittedOrder
                                    (Id, Value)
                        values      (@Id, @Value)";
            return(SqlMapper.ExecuteAsync(
                       cnn: session.Connection,
                       sql: sql,
                       param: order,
                       transaction: session.Transaction));

            #endregion
        }
        public static async Task <int> ExecuteAsync(this AnyDbConnection cnn, InsertSelect query, IDbTransaction transaction = null, int?commandTimeout = default(int?))
        {
            string insertSelectSql = GetInsertSelectSql(cnn, query);

            if (!commandTimeout.HasValue)
            {
                commandTimeout = cnn.DefaultCommandTimeout;
            }
            DynamicParameters parameters = GetParameters(query.Query.CommandParams);

            return(await SqlMapper.ExecuteAsync((IDbConnection)cnn, insertSelectSql, (object)parameters, transaction, commandTimeout, (CommandType?)CommandType.Text));
        }
        public static async Task <long> ExecuteAsync(this AnyDbConnection cnn, Insert query, IDbTransaction transaction = null, int?commandTimeout = default(int?))
        {
            string sql = GetInsertSql(cnn, query);

            if (!commandTimeout.HasValue)
            {
                commandTimeout = cnn.DefaultCommandTimeout;
            }
            DynamicParameters parameters = GetParameters(query.Query.CommandParams);

            if (string.IsNullOrEmpty(query.Query.IdentityField))
            {
                return(Convert.ToInt64(await SqlMapper.ExecuteAsync((IDbConnection)cnn, sql, (object)parameters, transaction, commandTimeout, (CommandType?)CommandType.Text)));
            }
            return(Convert.ToInt64(await SqlMapper.ExecuteScalarAsync((IDbConnection)cnn, sql, (object)parameters, transaction, commandTimeout, (CommandType?)CommandType.Text)));
        }
Exemplo n.º 4
0
 public static Task <int> ExecuteAsync(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, int?commandTimeout = null, CommandType?commandType = null)
 {
     TRACE(sql);
     return(SqlMapper.ExecuteAsync(cnn, sql, param, transaction, commandTimeout, commandType));
 }