public async Task RevokeActiveIdAsync(string blockchainType, string blockchainAssetId, string hotWallet, Guid batchId) { var partitionKey = ActiveCashoutsBatchIdEntity.GeneratePartitionKey(blockchainType); var rowKey = ActiveCashoutsBatchIdEntity.GenerateRowKey(blockchainAssetId, hotWallet); await _storage.DeleteIfExistAsync(partitionKey, rowKey, e => e.BatchId == batchId); }
public async Task <ActiveCashoutBatchId> GetActiveOrNextBatchId(string blockchainType, string blockchainAssetId, string hotWallet, Func <Guid> getNextId) { var partitionKey = ActiveCashoutsBatchIdEntity.GeneratePartitionKey(blockchainType); var rowKey = ActiveCashoutsBatchIdEntity.GenerateRowKey(blockchainAssetId, hotWallet); var entity = await _storage.GetOrInsertAsync( partitionKey, rowKey, () => { var id = getNextId(); return(ActiveCashoutsBatchIdEntity.FromDomain ( blockchainType, blockchainAssetId, hotWallet, id )); }); return(entity.ToDomain()); }