private static async Task DeleteByPartitionsAsync(string[] partitions, string[] entries, IActivityTracker <DynamicTableEntity> journal) { foreach (var partition in partitions) { foreach (var entry in entries) { await journal.DeleteAsync(new Identifier(entry, partition)); } } }
public async Task CRUDGlobalAsync() { var query = new MetricQueryableFactory <DynamicTableEntity>().Create((string)null); var hasRows = (await query.GetAsync(_JournalTableName, 1)).Results.Count > 0; if (hasRows) { var allRows = await query.GetAsync(_JournalTableName); foreach (var row in allRows.Results) { await _Journal.DeleteAsync(new Identifier( row.RowKey, row.PartitionKey)); } } //Create await InsertByPartitionsAsync(_PartitionKeys, _RowKeys, _Journal); //Read 1 var rows = await query.GetAsync(_JournalTableName, null, new QueryFilter("PartitionKey", "A"), new QueryFilter("RowKey", "01")); Assert.IsTrue(rows.Results.Count == 1, "Wrong number of rows returned - 1"); //Read 2 var rows2 = await query.GetAsync(_JournalTableName, null, new QueryFilter("RowKey", "01")); Assert.IsTrue(rows2.Results.Count == _PartitionKeys.Length, "Wrong number of rows returned - 2"); //Read 2.5 var rows25 = await query.GetAsync(_JournalTableName, 1, new QueryFilter("RowKey", "01")); Assert.IsTrue(rows25.Results.Count == 1, "Wrong number of rows returned - 2.5"); //Read 3 var rows3 = await query.GetAsync(_JournalTableName, null, new QueryFilter("PartitionKey", "A")); Assert.IsTrue(rows3.Results.Count == _RowKeys.Length, "Wrong number of rows returned - 3"); //Delete await DeleteByPartitionsAsync(_PartitionKeys, _RowKeys, _Journal); }