namespace IceImportDAL.DTO.IceImportPipeline; // A single field- or header-level finding produced by a field resolver or IRowValidator. // RowNumber = 0 is the documented convention for header-level findings (e.g. // HeaderFieldExistenceValidator) that are not tied to a specific data row. public class IceImportFieldErrorDTO { public int RowNumber { get; set; } public string EntityCode { get; set; } = string.Empty; public string FieldName { get; set; } = string.Empty; public string Message { get; set; } = string.Empty; public IceImportSeverity Severity { get; set; } = IceImportSeverity.Error; // The raw source value that failed to resolve — set only by CodeToIdLookupResolver/ // NameToIdLookupResolver (ValueType 4/5 "not found" findings), so // IceImportRunExecutionService can group these specific findings by FieldName for the // TICEIMPORTRUNLOG "Validation" entries. Left null for every other kind of finding. public string? Value { get; set; } }