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); }
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)); }