Exemplo n.º 1
0
        internal static async Task <IndividualEnrollment> CreateOrUpdateAsync(
            IContractApiHttp contractApiHttp,
            IndividualEnrollment individualEnrollment,
            CancellationToken cancellationToken)
        {
            /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_001: [The CreateOrUpdateAsync shall throw ArgumentException if the provided individualEnrollment is null.] */
            if (individualEnrollment == null)
            {
                throw new ArgumentNullException(nameof(individualEnrollment));
            }

            /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_002: [The CreateOrUpdateAsync shall sent the Put HTTP request to create or update the individualEnrollment.] */
            ContractApiResponse contractApiResponse = await contractApiHttp.RequestAsync(
                HttpMethod.Put,
                GetEnrollmentUri(individualEnrollment.RegistrationId),
                null,
                JsonConvert.SerializeObject(individualEnrollment),
                individualEnrollment.ETag,
                cancellationToken).ConfigureAwait(false);

            if (contractApiResponse.Body == null)
            {
                throw new ProvisioningServiceClientHttpException(contractApiResponse, true);
            }

            /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_003: [The CreateOrUpdateAsync shall return an IndividualEnrollment object created from the body of the HTTP response.] */
            return(JsonConvert.DeserializeObject <IndividualEnrollment>(contractApiResponse.Body));
        }
        internal static async Task <IndividualEnrollment> CreateOrUpdateAsync(
            IContractApiHttp contractApiHttp,
            IndividualEnrollment individualEnrollment,
            CancellationToken cancellationToken)
        {
            if (individualEnrollment == null)
            {
                throw new ArgumentNullException(nameof(individualEnrollment));
            }

            ContractApiResponse contractApiResponse = await contractApiHttp
                                                      .RequestAsync(
                HttpMethod.Put,
                GetEnrollmentUri(individualEnrollment.RegistrationId),
                null,
                JsonConvert.SerializeObject(individualEnrollment),
                individualEnrollment.ETag,
                cancellationToken)
                                                      .ConfigureAwait(false);

            if (contractApiResponse.Body == null)
            {
                throw new ProvisioningServiceClientHttpException(contractApiResponse, true);
            }

            return(JsonConvert.DeserializeObject <IndividualEnrollment>(contractApiResponse.Body));
        }
Exemplo n.º 3
0
        internal static async Task DeleteAsync(
            IContractApiHttp contractApiHttp,
            IndividualEnrollment individualEnrollment,
            CancellationToken cancellationToken)
        {
            /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_010: [The DeleteAsync shall throw ArgumentException if the provided individualEnrollment is null.] */
            if (individualEnrollment == null)
            {
                throw new ArgumentNullException(nameof(individualEnrollment));
            }

            /* SRS_INDIVIDUAL_ENROLLMENT_MANAGER_21_011: [The DeleteAsync shall sent the Delete HTTP request to remove the individualEnrollment.] */
            await contractApiHttp.RequestAsync(
                HttpMethod.Delete,
                GetEnrollmentUri(individualEnrollment.RegistrationId),
                null,
                null,
                individualEnrollment.ETag,
                cancellationToken).ConfigureAwait(false);
        }
        internal static async Task DeleteAsync(
            IContractApiHttp contractApiHttp,
            IndividualEnrollment individualEnrollment,
            CancellationToken cancellationToken)
        {
            if (individualEnrollment == null)
            {
                throw new ArgumentNullException(nameof(individualEnrollment));
            }

            await contractApiHttp
            .RequestAsync(
                HttpMethod.Delete,
                GetEnrollmentUri(individualEnrollment.RegistrationId),
                null,
                null,
                individualEnrollment.ETag,
                cancellationToken)
            .ConfigureAwait(false);
        }