public async ValueTask <Response <NameAvailabilityStatus> > CheckNameAvailabilityAsync(CheckNameAvailabilityParameters checkNameAvailabilityParameters, CancellationToken cancellationToken = default)
        {
            if (checkNameAvailabilityParameters == null)
            {
                throw new ArgumentNullException(nameof(checkNameAvailabilityParameters));
            }

            using var message = CreateCheckNameAvailabilityRequest(checkNameAvailabilityParameters);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                NameAvailabilityStatus value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                if (document.RootElement.ValueKind == JsonValueKind.Null)
                {
                    value = null;
                }
                else
                {
                    value = NameAvailabilityStatus.DeserializeNameAvailabilityStatus(document.RootElement);
                }
                return(Response.FromValue(value, message.Response));
            }
 /// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the value to convert into an instance of <see cref="NameAvailabilityStatus" />.</param>
 /// <returns>
 /// an instance of <see cref="NameAvailabilityStatus" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public static object ConvertFrom(dynamic sourceValue)
 {
     if (null == sourceValue)
     {
         return(null);
     }
     try
     {
         NameAvailabilityStatus.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());
     }
     catch
     {
         // Unable to use JSON pattern
     }
     try
     {
         return(new NameAvailabilityStatus
         {
             Message = sourceValue.Message,
             NameAvailable = sourceValue.NameAvailable,
             Reason = sourceValue.Reason,
         });
     }
     catch
     {
     }
     return(null);
 }
Exemple #3
0
        public async Task <Response <NameAvailabilityStatus> > CheckAppConfigurationNameAvailabilityAsync(string subscriptionId, CheckNameAvailabilityContent content, CancellationToken cancellationToken = default)
        {
            Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId));
            Argument.AssertNotNull(content, nameof(content));

            using var message = CreateCheckAppConfigurationNameAvailabilityRequest(subscriptionId, content);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                NameAvailabilityStatus value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = NameAvailabilityStatus.DeserializeNameAvailabilityStatus(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }