internal static async Task <BulkEnrollmentOperationResult> BulkOperationAsync( IContractApiHttp contractApiHttp, BulkOperationMode bulkOperationMode, IEnumerable <IndividualEnrollment> individualEnrollments, CancellationToken cancellationToken) { /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_004: [The BulkOperationAsync shall throw ArgumentException if the provided * individualEnrollments is null or empty.] */ if (!(individualEnrollments ?? throw new ArgumentNullException(nameof(individualEnrollments))).Any()) { throw new ArgumentException($"{nameof(individualEnrollments)} cannot be empty"); } /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_005: [The BulkOperationAsync shall sent the Put HTTP request to run the bulk operation to the collection of the individualEnrollment.] */ ContractApiResponse contractApiResponse = await contractApiHttp.RequestAsync( HttpMethod.Post, GetEnrollmentUri(), null, BulkEnrollmentOperation.ToJson(bulkOperationMode, individualEnrollments), null, cancellationToken).ConfigureAwait(false); if (contractApiResponse.Body == null) { throw new ProvisioningServiceClientHttpException(contractApiResponse, true); } /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_006: [The BulkOperationAsync shall return an BulkEnrollmentOperationResult object created from the body of the HTTP response.] */ return(JsonConvert.DeserializeObject <BulkEnrollmentOperationResult>(contractApiResponse.Body)); }
internal static async Task <BulkEnrollmentOperationResult> BulkOperationAsync( IContractApiHttp contractApiHttp, BulkOperationMode bulkOperationMode, IEnumerable <IndividualEnrollment> individualEnrollments, CancellationToken cancellationToken) { if (individualEnrollments == null) { throw new ArgumentNullException(nameof(individualEnrollments)); } if (!individualEnrollments.Any()) { throw new ArgumentException($"{nameof(individualEnrollments)} cannot be empty."); } ContractApiResponse contractApiResponse = await contractApiHttp .RequestAsync( HttpMethod.Post, GetEnrollmentUri(), null, BulkEnrollmentOperation.ToJson(bulkOperationMode, individualEnrollments), null, cancellationToken) .ConfigureAwait(false); if (contractApiResponse.Body == null) { throw new ProvisioningServiceClientHttpException(contractApiResponse, true); } return(JsonConvert.DeserializeObject <BulkEnrollmentOperationResult>(contractApiResponse.Body)); }
/// <summary> /// Serializer /// </summary> /// <remarks> /// Creates a <c>string</c>, whose content represents the mode and the collection of /// individualEnrollments in a JSON format. /// </remarks> /// <param name="mode">the <see cref="BulkOperationMode"/> that defines the single operation to do over the /// individualEnrollments.</param> /// <param name="individualEnrollments">the collection of <see cref="IndividualEnrollment"/> that contains the description /// of each individualEnrollment.</param> /// <returns>The <c>string</c> with the content of this class.</returns> /// <exception cref="ArgumentNullException">if the individualEnrollments is null.</exception> /// <exception cref="ArgumentException">if the individualEnrollments is invalid.</exception> public static string ToJson(BulkOperationMode mode, IEnumerable <IndividualEnrollment> individualEnrollments) { if (!(individualEnrollments ?? throw new ArgumentNullException(nameof(individualEnrollments))).Any()) { throw new ArgumentException("The collection is null or empty.", nameof(individualEnrollments)); } var bulkOperation = new BulkOperation { Mode = mode, Enrollments = individualEnrollments, }; return(JsonConvert.SerializeObject(bulkOperation)); }
/// <summary> /// Serializer /// </summary> /// <remarks> /// Creates a <code>string</code>, whose content represents the mode and the collection of /// individualEnrollments in a JSON format. /// </remarks> /// <param name="mode">the <see cref="BulkOperationMode"/> that defines the single operation to do over the /// individualEnrollments.</param> /// <param name="individualEnrollments">the collection of <see cref="IndividualEnrollment"/> that contains the description /// of each individualEnrollment.</param> /// <returns>The <code>string</code> with the content of this class.</returns> /// <exception cref="ArgumentNullException">if the individualEnrollments is null.</exception> /// <exception cref="ArgumentException">if the individualEnrollments is invalid.</exception> public static string ToJson(BulkOperationMode mode, IEnumerable <IndividualEnrollment> individualEnrollments) { /* SRS_BULK_OPERATION_21_001: [The toJsonElement shall throw ArgumentException if the provided collection of * individualEnrollments is null or empty.] */ if (!(individualEnrollments ?? throw new ArgumentNullException("individualEnrollments")).Any()) { throw new ArgumentException("individualEnrollments"); } /* SRS_BULK_OPERATION_21_002: [The toJson shall return a String with the mode and the collection of individualEnrollments * using a JSON format.] */ BulkOperation bulkOperation = new BulkOperation() { Mode = mode, Enrollments = individualEnrollments }; return(Newtonsoft.Json.JsonConvert.SerializeObject(bulkOperation)); }