Files
OrpaonVision/OrpaonVision.Core/Training/Contracts/RuleSnapshotValidationResultDto.cs
2026-04-06 22:08:38 +08:00

121 lines
3.0 KiB
C#

namespace OrpaonVision.Core.Training.Contracts;
/// <summary>
/// 规则快照包校验结果。
/// </summary>
public sealed class RuleSnapshotValidationResultDto
{
/// <summary>
/// 是否通过校验。
/// </summary>
public bool IsValid { get; init; }
/// <summary>
/// 校验错误信息。
/// </summary>
public string[] Errors { get; init; } = Array.Empty<string>();
/// <summary>
/// 校验警告信息。
/// </summary>
public string[] Warnings { get; init; } = Array.Empty<string>();
/// <summary>
/// 层顺序校验结果。
/// </summary>
public LayerOrderValidationResultDto LayerOrderValidation { get; init; } = new();
/// <summary>
/// 部件编码唯一性校验结果。
/// </summary>
public PartCodeUniquenessValidationResultDto PartCodeUniquenessValidation { get; init; } = new();
/// <summary>
/// Schema合法性校验结果。
/// </summary>
public SchemaValidationResultDto SchemaValidation { get; init; } = new();
}
/// <summary>
/// 层顺序校验结果。
/// </summary>
public sealed class LayerOrderValidationResultDto
{
/// <summary>
/// 是否通过校验。
/// </summary>
public bool IsValid { get; init; }
/// <summary>
/// 错误信息。
/// </summary>
public string[] Errors { get; init; } = Array.Empty<string>();
/// <summary>
/// 实际层顺序。
/// </summary>
public string[] ActualLayerOrder { get; init; } = Array.Empty<string>();
/// <summary>
/// 期望层顺序。
/// </summary>
public string[] ExpectedLayerOrder { get; init; } = Array.Empty<string>();
}
/// <summary>
/// 部件编码唯一性校验结果。
/// </summary>
public sealed class PartCodeUniquenessValidationResultDto
{
/// <summary>
/// 是否通过校验。
/// </summary>
public bool IsValid { get; init; }
/// <summary>
/// 错误信息。
/// </summary>
public string[] Errors { get; init; } = Array.Empty<string>();
/// <summary>
/// 重复的部件编码。
/// </summary>
public string[] DuplicatePartCodes { get; init; } = Array.Empty<string>();
/// <summary>
/// 所有部件编码。
/// </summary>
public string[] AllPartCodes { get; init; } = Array.Empty<string>();
}
/// <summary>
/// Schema合法性校验结果。
/// </summary>
public sealed class SchemaValidationResultDto
{
/// <summary>
/// 是否通过校验。
/// </summary>
public bool IsValid { get; init; }
/// <summary>
/// 错误信息。
/// </summary>
public string[] Errors { get; init; } = Array.Empty<string>();
/// <summary>
/// 警告信息。
/// </summary>
public string[] Warnings { get; init; } = Array.Empty<string>();
/// <summary>
/// Schema版本。
/// </summary>
public string SchemaVersion { get; init; } = string.Empty;
/// <summary>
/// 校验的文件路径。
/// </summary>
public string[] ValidatedFiles { get; init; } = Array.Empty<string>();
}