Example #1
0
        public async Task ChangeBalanceAsync(string traderId, string currency, double delta)
        {
            var partitionKey = TraderBalanceEntity.GeneratePartitionKey(traderId);
            var rowKey       = TraderBalanceEntity.GenerateRowKey(currency);

            var entity = await _tableStorage.ReplaceAsync(partitionKey, rowKey, itm =>
            {
                itm.Amount += delta;
                return(itm);
            });


            if (entity != null)
            {
                return;
            }

            entity        = TraderBalanceEntity.Create(traderId, currency);
            entity.Amount = delta;

            await _tableStorage.InsertAsync(entity);
        }
Example #2
0
        public async Task <IEnumerable <ITraderBalance> > GetAsync(string traderId)
        {
            var partitionKey = TraderBalanceEntity.GeneratePartitionKey(traderId);

            return(await _tableStorage.GetDataAsync(partitionKey));
        }