Ejemplo n.º 1
0
        public Task AddAsync(IOrderHistory order, ITrade trade)
        {
            var entity = OrderHistoryEntity.Create(order);

            // ReSharper disable once RedundantArgumentDefaultValue
            //TODO: use event datetime
            return(_tableStorage.InsertAndGenerateRowKeyAsDateTimeAsync(entity,
                                                                        DateTime.UtcNow, RowKeyDateTimeFormat.Iso));
        }
        private async Task DoAdd(SqlConnection conn, SqlTransaction transaction, IOrderHistory order, ITrade trade)
        {
            var orderHistoryEntity = OrderHistoryEntity.Create(order);
            await conn.ExecuteAsync(
                $"insert into {TableName} ({GetColumns}) values ({GetFields})",
                orderHistoryEntity,
                transaction);

            if (trade != null)
            {
                var tradeEntity = TradeEntity.Create(trade);
                await conn.ExecuteAsync(
                    $"insert into {TradesSqlRepository.TableName} ({TradesSqlRepository.GetColumns}) values ({TradesSqlRepository.GetFields})",
                    tradeEntity,
                    transaction);
            }
        }