public async Task Delete <T>(CosmosDbDeleteRequest request) where T : EntityBase { var entities = await _cosmosDbClient.Find <T>(request.Query); foreach (var entity in entities) { await DeleteById <T>(entity.Id); } }
public async Task Delete_50_out_of_100_When_called_works() { var cosmosDbService = CreateCosmosDbService(); await CreateCustomers(cosmosDbService, 100); var request = new CosmosDbDeleteRequest { Query = "SELECT c.id FROM c WHERE c.Age < 50" }; await cosmosDbService.Delete <Customer>(request); Assert.AreEqual(50, await cosmosDbService.GetCountAll <Customer>()); }
public async Task <CosmosDbDeleteResponse> DeleteCosmosDbAsync(CosmosDbDeleteRequest request) { var options = request.Options; var document = request.Document; if (document == null) { return(new CosmosDbDeleteResponse()); } var id = request.Id; var partitionKey = request.PartitionKey; var itemResponse = await Container.DeleteItemAsync <dynamic>(id, new PartitionKey(partitionKey), options); return(new CosmosDbDeleteResponse(itemResponse.RequestCharge, itemResponse.Resource)); }
public async Task <CosmosDbDeleteResponse> DeleteCosmosDbAsync(CosmosDbDeleteRequest request) { var options = request.Options; var document = request.Document; if (document == null) { return(new CosmosDbDeleteResponse()); } var documentId = document.Id; var databaseId = _cosmosDbSettings.DatabaseName; var collectionId = _cosmosDbSettings.ContainerName; var documentUri = UriFactory.CreateDocumentUri(databaseId, collectionId, documentId); var resourceResponse = await _documentClient.DeleteDocumentAsync(documentUri, options); return(new CosmosDbDeleteResponse(resourceResponse.RequestCharge, resourceResponse.Resource)); }
public void Print(CosmosDbDeleteRequest request, CosmosDbDeleteResponse response) { Console.WriteLine($"Document: {request.Document}"); Console.WriteLine($"RequestUnits: {response.RequestUnits} RU"); }