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>());
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
 public void Print(CosmosDbDeleteRequest request, CosmosDbDeleteResponse response)
 {
     Console.WriteLine($"Document: {request.Document}");
     Console.WriteLine($"RequestUnits: {response.RequestUnits} RU");
 }