Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CustomFormModelInfo"/> class.
 /// </summary>
 /// <param name="modelId">The unique identifier of the model.</param>
 /// <param name="trainingStartedOn">The date and time (UTC) when model training was started.</param>
 /// <param name="trainingCompletedOn">The date and time (UTC) when model training completed.</param>
 /// <param name="status">The status of the model.</param>
 internal CustomFormModelInfo(string modelId, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, CustomFormModelStatus status)
 {
     ModelId             = modelId;
     TrainingStartedOn   = trainingStartedOn;
     TrainingCompletedOn = trainingCompletedOn;
     Status = status;
 }
Exemple #2
0
        public static CustomFormModel CustomFormModel(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, IReadOnlyList <CustomFormSubmodel> submodels, IReadOnlyList <TrainingDocumentInfo> trainingDocuments, IReadOnlyList <FormRecognizerError> errors)
        {
            submodels         = submodels?.ToList();
            trainingDocuments = trainingDocuments?.ToList();
            errors            = errors?.ToList();

            return(new CustomFormModel(modelId, status, trainingStartedOn, trainingCompletedOn, submodels, trainingDocuments, errors, default, default));
 internal CustomFormModelInfo(string modelId, DateTimeOffset requestedOn, DateTimeOffset completedOn, CustomFormModelStatus status)
 {
     ModelId     = modelId;
     RequestedOn = requestedOn;
     CompletedOn = completedOn;
     Status      = status;
 }
        internal static ModelInfo_internal DeserializeModelInfo_internal(JsonElement element)
        {
            Guid modelId = default;
            CustomFormModelStatus status              = default;
            DateTimeOffset        createdDateTime     = default;
            DateTimeOffset        lastUpdatedDateTime = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("modelId"))
                {
                    modelId = property.Value.GetGuid();
                    continue;
                }
                if (property.NameEquals("status"))
                {
                    status = property.Value.GetString().ToCustomFormModelStatus();
                    continue;
                }
                if (property.NameEquals("createdDateTime"))
                {
                    createdDateTime = property.Value.GetDateTimeOffset("S");
                    continue;
                }
                if (property.NameEquals("lastUpdatedDateTime"))
                {
                    lastUpdatedDateTime = property.Value.GetDateTimeOffset("S");
                    continue;
                }
            }
            return(new ModelInfo_internal(modelId, status, createdDateTime, lastUpdatedDateTime));
        }
Exemple #5
0
 internal ModelInfo_internal(Guid modelId, CustomFormModelStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime)
 {
     ModelId             = modelId;
     Status              = status;
     CreatedDateTime     = createdDateTime;
     LastUpdatedDateTime = lastUpdatedDateTime;
 }
        async ValueTask <OperationState <CustomFormModel> > IOperation <CustomFormModel> .UpdateStateAsync(bool async, CancellationToken cancellationToken)
        {
            // Include keys is always set to true -- the service does not have a use case for includeKeys: false.
            Response <Model> response = async
                ? await _serviceClient.GetCustomModelAsync(new Guid(Id), includeKeys : true, cancellationToken).ConfigureAwait(false)
                : _serviceClient.GetCustomModel(new Guid(Id), includeKeys: true, cancellationToken);

            CustomFormModelStatus status = response.Value.ModelInfo.Status;
            Response rawResponse         = response.GetRawResponse();

            if (status == CustomFormModelStatus.Ready)
            {
                return(OperationState <CustomFormModel> .Success(rawResponse, new CustomFormModel(response.Value, _serviceVersion)));
            }
            else if (status == CustomFormModelStatus.Invalid)
            {
                RequestFailedException requestFailedException = await ClientCommon.CreateExceptionForFailedOperationAsync(
                    async,
                    _diagnostics,
                    rawResponse,
                    response.Value.TrainResult.Errors,
                    $"Invalid model created with ID {response.Value.ModelInfo.ModelId}").ConfigureAwait(false);

                return(OperationState <CustomFormModel> .Failure(rawResponse, requestFailedException));
            }

            return(OperationState <CustomFormModel> .Pending(rawResponse));
        }
Exemple #7
0
 internal CustomFormModelInfo(string modelId, DateTimeOffset createdOn, DateTimeOffset lastModifiedOn, CustomFormModelStatus status)
 {
     ModelId      = modelId;
     CreatedOn    = createdOn;
     LastModified = lastModifiedOn;
     Status       = status;
 }
Exemple #8
0
 /// <summary> Initializes a new instance of CustomFormModelInfo. </summary>
 /// <param name="modelId"> Model identifier. </param>
 /// <param name="status"> Status of the model. </param>
 /// <param name="trainingStartedOn"> Date and time (UTC) when the model was created. </param>
 /// <param name="trainingCompletedOn"> Date and time (UTC) when the status was last updated. </param>
 /// <param name="modelName"> An optional, user-defined name to associate with your model. </param>
 /// <param name="properties">Model properties, like for example, if a model is composed.</param>
 internal CustomFormModelInfo(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, string modelName, CustomFormModelProperties properties)
 {
     ModelId             = modelId;
     Status              = status;
     TrainingStartedOn   = trainingStartedOn;
     TrainingCompletedOn = trainingCompletedOn;
     ModelName           = modelName;
     Properties          = properties ?? new CustomFormModelProperties();
 }
Exemple #9
0
 internal CustomFormModelInfo(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, string modelName, Attributes attributes)
 {
     ModelId             = modelId;
     Status              = status;
     TrainingStartedOn   = trainingStartedOn;
     TrainingCompletedOn = trainingCompletedOn;
     ModelName           = modelName;
     Attributes          = attributes;
 }
Exemple #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CustomFormModel"/> class.
 /// </summary>
 /// <param name="modelId">The unique identifier of this model.</param>
 /// <param name="status">A status indicating this model's readiness for use.</param>
 /// <param name="trainingStartedOn">The date and time (UTC) when model training was started.</param>
 /// <param name="trainingCompletedOn">The date and time (UTC) when model training completed.</param>
 /// <param name="submodels">A list of submodels that are part of this model, each of which can recognize and extract fields from a different type of form.</param>
 /// <param name="trainingDocuments">A list of meta-data about each of the documents used to train the model.</param>
 /// <param name="errors">A list of errors ocurred during the training operation.</param>
 internal CustomFormModel(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, IReadOnlyList <CustomFormSubmodel> submodels, IReadOnlyList <TrainingDocumentInfo> trainingDocuments, IReadOnlyList <FormRecognizerError> errors)
 {
     ModelId             = modelId;
     Status              = status;
     TrainingStartedOn   = trainingStartedOn;
     TrainingCompletedOn = trainingCompletedOn;
     Submodels           = submodels;
     TrainingDocuments   = trainingDocuments;
     Errors              = errors;
 }
Exemple #11
0
        internal CustomFormModelInfo(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn)
        {
            if (modelId == null)
            {
                throw new ArgumentNullException(nameof(modelId));
            }

            ModelId             = modelId;
            Status              = status;
            TrainingStartedOn   = trainingStartedOn;
            TrainingCompletedOn = trainingCompletedOn;
        }
        internal static CustomFormModelInfo DeserializeCustomFormModelInfo(JsonElement element)
        {
            string modelId = default;
            CustomFormModelStatus status                    = default;
            DateTimeOffset        createdDateTime           = default;
            DateTimeOffset        lastUpdatedDateTime       = default;
            Optional <string>     modelName                 = default;
            Optional <CustomFormModelProperties> attributes = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("modelId"))
                {
                    modelId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("status"))
                {
                    status = property.Value.GetString().ToCustomFormModelStatus();
                    continue;
                }
                if (property.NameEquals("createdDateTime"))
                {
                    createdDateTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("lastUpdatedDateTime"))
                {
                    lastUpdatedDateTime = property.Value.GetDateTimeOffset("O");
                    continue;
                }
                if (property.NameEquals("modelName"))
                {
                    modelName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("attributes"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    attributes = CustomFormModelProperties.DeserializeCustomFormModelProperties(property.Value);
                    continue;
                }
            }
            return(new CustomFormModelInfo(modelId, status, createdDateTime, lastUpdatedDateTime, modelName.Value, attributes.Value));
        }
Exemple #13
0
 public static CustomFormModel CustomFormModel(string modelId, CustomFormModelStatus status, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, IReadOnlyList <CustomFormSubmodel> submodels, IReadOnlyList <TrainingDocumentInfo> trainingDocuments, IReadOnlyList <FormRecognizerError> errors) =>
 CustomFormModel(modelId, status, trainingStartedOn, trainingCompletedOn, submodels, trainingDocuments, errors, default, default);
Exemple #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Training.CustomFormModelInfo"/> class.
 /// </summary>
 /// <param name="modelId">The unique identifier of the model.</param>
 /// <param name="trainingStartedOn">The date and time (UTC) when model training was started.</param>
 /// <param name="trainingCompletedOn">The date and time (UTC) when model training completed.</param>
 /// <param name="status">The status of the model.</param>
 /// <param name="modelName">An optional, user-defined name to associate with your model.</param>
 /// <param name="properties">Model properties, like for example, if a model is composed.</param>
 /// <returns>A new <see cref="Training.CustomFormModelInfo"/> instance for mocking.</returns>
 public static CustomFormModelInfo CustomFormModelInfo(string modelId, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, CustomFormModelStatus status, string modelName, CustomFormModelProperties properties) =>
 new CustomFormModelInfo(modelId, status, trainingStartedOn, trainingCompletedOn, modelName, properties);
 public static string ToSerialString(this CustomFormModelStatus value) => value switch
 {
Exemple #16
0
 /// <summary> Initializes new instance of CustomFormModelInfo class. </summary>
 /// <param name="modelId"> Model identifier. </param>
 /// <param name="status"> Status of the model. </param>
 /// <param name="trainingStartedOn"> Date and time (UTC) when the model was created. </param>
 /// <param name="trainingCompletedOn"> Date and time (UTC) when the status was last updated. </param>
 /// <param name="modelName"> Optional user defined model name (max length: 1024). </param>
 /// <param name="properties"> Optional model attributes. </param>
 /// <returns> A new <see cref="Training.CustomFormModelInfo"/> instance for mocking. </returns>
 internal static CustomFormModelInfo CustomFormModelInfo(string modelId = default, CustomFormModelStatus status = default, DateTimeOffset trainingStartedOn = default, DateTimeOffset trainingCompletedOn = default, string modelName = default, CustomFormModelProperties properties = default)
 {
     return(new CustomFormModelInfo(modelId, status, trainingStartedOn, trainingCompletedOn, modelName, properties));
 }
 private static CustomFormModelInfo ConvertValue(CopyOperationResult result, string modelId, CustomFormModelStatus status)
 {
     return(new CustomFormModelInfo(
                modelId,
                result.CreatedDateTime,
                result.LastUpdatedDateTime,
                status));
 }
Exemple #18
0
 public static CustomFormModelInfo CustomFormModelInfo(string modelId, DateTimeOffset trainingStartedOn, DateTimeOffset trainingCompletedOn, CustomFormModelStatus status) =>
 CustomFormModelInfo(modelId, trainingStartedOn, trainingCompletedOn, status, default, default);