async ValueTask <OperationState <AnalyzeResult> > IOperation <AnalyzeResult> .UpdateStateAsync(bool async, CancellationToken cancellationToken) { Response <AnalyzeResultOperation> response = async ? await _serviceClient.DocumentAnalysisGetAnalyzeDocumentResultAsync(_modelId, _resultId, cancellationToken).ConfigureAwait(false) : _serviceClient.DocumentAnalysisGetAnalyzeDocumentResult(_modelId, _resultId, cancellationToken); AnalyzeResultOperationStatus status = response.Value.Status; Response rawResponse = response.GetRawResponse(); if (status == AnalyzeResultOperationStatus.Succeeded) { return(OperationState <AnalyzeResult> .Success(rawResponse, response.Value.AnalyzeResult)); } else if (status == AnalyzeResultOperationStatus.Failed) { RequestFailedException requestFailedException = await ClientCommon .CreateExceptionForFailedOperationAsync(async, _diagnostics, rawResponse, response.Value.Error) .ConfigureAwait(false); return(OperationState <AnalyzeResult> .Failure(rawResponse, requestFailedException)); } return(OperationState <AnalyzeResult> .Pending(rawResponse)); }
internal AnalyzeResultOperation(AnalyzeResultOperationStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime, JsonElement error, AnalyzeResult analyzeResult) { Status = status; CreatedDateTime = createdDateTime; LastUpdatedDateTime = lastUpdatedDateTime; _error = error; AnalyzeResult = analyzeResult; }
internal static AnalyzeResultOperation DeserializeAnalyzeResultOperation(JsonElement element) { AnalyzeResultOperationStatus status = default; DateTimeOffset createdDateTime = default; DateTimeOffset lastUpdatedDateTime = default; Optional <JsonElement> error = default; Optional <AnalyzeResult> analyzeResult = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("status")) { status = property.Value.GetString().ToAnalyzeResultOperationStatus(); continue; } if (property.NameEquals("createdDateTime")) { createdDateTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("lastUpdatedDateTime")) { lastUpdatedDateTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("error")) { error = property.Value.Clone(); continue; } if (property.NameEquals("analyzeResult")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } analyzeResult = AnalyzeResult.DeserializeAnalyzeResult(property.Value); continue; } } return(new AnalyzeResultOperation(status, createdDateTime, lastUpdatedDateTime, error, analyzeResult.Value)); }
internal AnalyzeResultOperation(AnalyzeResultOperationStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime) { Status = status; CreatedDateTime = createdDateTime; LastUpdatedDateTime = lastUpdatedDateTime; }
public static string ToSerialString(this AnalyzeResultOperationStatus value) => value switch {