public override TransactionalBatch PatchItem( string id, IReadOnlyList <PatchOperation> patchOperations, TransactionalBatchPatchItemRequestOptions requestOptions = null) { throw new NotImplementedException(); }
public async Task ItemBatchNoResponseTest() { TransactionalBatchItemRequestOptions requestOptions = new TransactionalBatchItemRequestOptions() { EnableContentResponseOnWrite = false }; string pkId = "TestBatchId"; TransactionalBatch batch = this.container.CreateTransactionalBatch(new PartitionKey(pkId)); int noResponseItemCount = 100; for (int i = 0; i < noResponseItemCount; i++) { ToDoActivity item = ToDoActivity.CreateRandomToDoActivity(pk: pkId); batch.CreateItem <ToDoActivity>(item, requestOptions: requestOptions); } TransactionalBatchResponse response = await batch.ExecuteAsync(); Assert.AreEqual(100, response.Count); this.ValidateResponse(response, noResponseItemCount); pkId = "TestBatchId2"; batch = this.container.CreateTransactionalBatch(new PartitionKey(pkId)); BatchCore batchCore = (BatchCore)batch; List <PatchOperation> patch = new List <PatchOperation>() { PatchOperation.Remove("/cost") }; TransactionalBatchPatchItemRequestOptions requestOptionsPatch = new TransactionalBatchPatchItemRequestOptions() { EnableContentResponseOnWrite = false }; noResponseItemCount = 0; for (int i = 0; i < 10; i++) { ToDoActivity item = ToDoActivity.CreateRandomToDoActivity(pk: pkId); batch.CreateItem <ToDoActivity>(item, requestOptions: requestOptions); noResponseItemCount++; ToDoActivity item2 = ToDoActivity.CreateRandomToDoActivity(pk: pkId); item2.id = item.id; batch.ReplaceItem <ToDoActivity>(item2.id, item2, requestOptions); noResponseItemCount++; batchCore.PatchItem(item2.id, patch, requestOptionsPatch); noResponseItemCount++; } int withBodyCount = 0; for (int i = 0; i < 5; i++) { ToDoActivity item = ToDoActivity.CreateRandomToDoActivity(pk: pkId); batch.CreateItem <ToDoActivity>(item); withBodyCount++; batch.ReadItem(item.id); withBodyCount++; batchCore.PatchItem(item.id, patch); withBodyCount++; } response = await batch.ExecuteAsync(); Assert.AreEqual(noResponseItemCount + withBodyCount, response.Count); this.ValidateResponse(response, noResponseItemCount); }
public PatchItemOperation(string id, IReadOnlyList <PatchOperation> patchOperations, TransactionalBatchPatchItemRequestOptions options, PartitionKey partitionKey) : base(options, partitionKey) { this.id = id; this.patchOperations = patchOperations; }
public override TransactionalBatch PatchItem(string id, IReadOnlyList <PatchOperation> patchOperations, TransactionalBatchPatchItemRequestOptions requestOptions = null) { Guard.AgainstNullAndEmpty(nameof(id), id); Guard.AgainstNull(nameof(patchOperations), patchOperations); operationsHolder.AddOperation(new PatchItemOperation(id, patchOperations, requestOptions, PartitionKey)); return(this); }