public async Task InsertAsync(VirtualTrade virtualTrade) { var entity = new VirtualTradeEntity(GetPartitionKey(virtualTrade.Timestamp), GetRowKey(virtualTrade.Id)); Mapper.Map(virtualTrade, entity); await _storage.InsertAsync(entity); }
public async Task ExecuteLimitOrderAsync(HedgeLimitOrder hedgeLimitOrder) { VirtualTrade virtualTrade = VirtualTrade.Create( hedgeLimitOrder.Id, hedgeLimitOrder.AssetId, hedgeLimitOrder.AssetPairId, hedgeLimitOrder.Type == LimitOrderType.Sell ? TradeType.Sell : TradeType.Buy, hedgeLimitOrder.Timestamp, hedgeLimitOrder.Price, hedgeLimitOrder.Volume); await _positionService.UpdateAsync(virtualTrade.AssetId, Name, virtualTrade.Type, virtualTrade.Volume, virtualTrade.OppositeVolume); await _virtualTradeService.AddAsync(virtualTrade); _log.InfoWithDetails("Virtual trade executed", virtualTrade); }
public Task AddAsync(VirtualTrade virtualTrade) { return(_virtualTradeRepository.InsertAsync(virtualTrade)); }