예제 #1
0
 internal AnalyzeOperationResult(OperationStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime, V2AnalyzeResult analyzeResult)
 {
     Status              = status;
     CreatedDateTime     = createdDateTime;
     LastUpdatedDateTime = lastUpdatedDateTime;
     AnalyzeResult       = analyzeResult;
 }
        private static RecognizedFormCollection ConvertSupervisedResult(V2AnalyzeResult analyzeResult, string modelId)
        {
            List <RecognizedForm> forms = new List <RecognizedForm>();

            foreach (var documentResult in analyzeResult.DocumentResults)
            {
                forms.Add(new RecognizedForm(documentResult, analyzeResult.PageResults, analyzeResult.ReadResults, modelId));
            }
            return(new RecognizedFormCollection(forms));
        }
        private static RecognizedFormCollection ConvertUnsupervisedResult(V2AnalyzeResult analyzeResult, string modelId)
        {
            List <RecognizedForm> forms = new List <RecognizedForm>();

            for (int pageIndex = 0; pageIndex < analyzeResult.PageResults.Count; pageIndex++)
            {
                forms.Add(new RecognizedForm(analyzeResult.PageResults[pageIndex], analyzeResult.ReadResults, pageIndex, modelId));
            }
            return(new RecognizedFormCollection(forms));
        }
예제 #4
0
        internal static AnalyzeOperationResult DeserializeAnalyzeOperationResult(JsonElement element)
        {
            OperationStatus            status              = default;
            DateTimeOffset             createdDateTime     = default;
            DateTimeOffset             lastUpdatedDateTime = default;
            Optional <V2AnalyzeResult> analyzeResult       = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("status"))
                {
                    status = property.Value.GetString().ToOperationStatus();
                    continue;
                }
                if (property.NameEquals("createdDateTime"))
                {
                    createdDateTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("lastUpdatedDateTime"))
                {
                    lastUpdatedDateTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("analyzeResult"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        analyzeResult = null;
                        continue;
                    }
                    analyzeResult = V2AnalyzeResult.DeserializeV2AnalyzeResult(property.Value);
                    continue;
                }
            }
            return(new AnalyzeOperationResult(status, createdDateTime, lastUpdatedDateTime, analyzeResult.Value));
        }
 private static RecognizedFormCollection ConvertToRecognizedForms(V2AnalyzeResult analyzeResult, string modelId)
 {
     return(analyzeResult.DocumentResults?.Count == 0 ?
            ConvertUnsupervisedResult(analyzeResult, modelId) :
            ConvertSupervisedResult(analyzeResult, modelId));
 }