public async Task InsertAsync(Trade trade)
        {
            var entity = new TradeEntity(GetPartitionKey(trade.Time), GetRowKey(trade.Id));

            Mapper.Map(trade, entity);

            await _storage.InsertAsync(entity);

            AzureIndex index = new AzureIndex(GetIndexPartitionKey(trade.Id), GetRowKey(trade.Id),
                                              entity);

            await _indicesStorage.InsertAsync(index);
        }
        public async Task <Trade> GetByIdAsync(string tradeId)
        {
            AzureIndex index = await _indicesStorage.GetDataAsync(GetIndexPartitionKey(tradeId),
                                                                  GetIndexRowKey(tradeId));

            if (index == null)
            {
                return(null);
            }

            TradeEntity entity = await _storage.GetDataAsync(index);

            return(Mapper.Map <Trade>(entity));
        }