예제 #1
0
        /// <summary>
        /// Adds an operation to patch an item into the batch.
        /// </summary>
        /// <param name="id">The cosmos item id.</param>
        /// <param name="patchOperations">Represents a list of operations to be sequentially applied to the referred Cosmos item.</param>
        /// <param name="requestOptions">(Optional) The options for the Patch request. <see cref="TransactionalBatchPatchItemRequestOptions"/>.</param>
        /// <returns>The <see cref="TransactionalBatch"/> instance with the operation added.</returns>
        public override TransactionalBatch PatchItem(
            string id,
            IReadOnlyList <PatchOperation> patchOperations,
            TransactionalBatchPatchItemRequestOptions requestOptions = null)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentNullException(nameof(id));
            }

            if (patchOperations == null ||
                !patchOperations.Any())
            {
                throw new ArgumentNullException(nameof(patchOperations));
            }

            PatchSpec patchSpec = new PatchSpec(patchOperations, requestOptions);

            this.operations.Add(new ItemBatchOperation <PatchSpec>(
                                    operationType: OperationType.Patch,
                                    operationIndex: this.operations.Count,
                                    id: id,
                                    resource: patchSpec,
                                    requestOptions: requestOptions,
                                    containerCore: this.container));

            return(this);
        }
예제 #2
0
        /// <summary>
        /// Adds an operation to patch an item into the batch.
        /// </summary>
        /// <param name="id">The cosmos item id.</param>
        /// <param name="patchStream">A <see cref="Stream"/> containing the patch specification.</param>
        /// <param name="requestOptions">(Optional) The options for the patch request. <see cref="TransactionalBatchPatchItemRequestOptions"/>.</param>
        /// <returns>The <see cref="TransactionalBatch"/> instance with the operation added.</returns>
        public virtual TransactionalBatch PatchItemStream(
            string id,
            Stream patchStream,
            TransactionalBatchPatchItemRequestOptions requestOptions = null)
        {
            this.operations.Add(new ItemBatchOperation(
                                    operationType: OperationType.Patch,
                                    operationIndex: this.operations.Count,
                                    id: id,
                                    resourceStream: patchStream,
                                    requestOptions: requestOptions,
                                    containerCore: this.container));

            return(this);
        }
 /// <summary>
 /// Adds an operation to patch an item into the batch.
 /// </summary>
 /// <param name="id">The unique id of the item.</param>
 /// <param name="patchOperations">Represents a list of operations to be sequentially applied to the referred Cosmos item.</param>
 /// <param name="requestOptions">(Optional) The options for the item request.</param>
 /// <returns>The transactional batch instance with the operation added.</returns>
 public abstract TransactionalBatch PatchItem(
     string id,
     System.Collections.Generic.IReadOnlyList <PatchOperation> patchOperations,
     TransactionalBatchPatchItemRequestOptions requestOptions = null);