using GB5Shared.DTO.Ice; using GB5Shared.DTO.Framework.Login; using IceImportDAL.DTO.IceImportPipeline; namespace IceImportBLL.EntityLookupService; // Scans the ENTIRE parsed dataset once, collects all distinct (EntityId, code-or-name value) // pairs needed for ValueType 4/5 fields across every row, batches them, and returns a lookup // result consulted per-row with zero further I/O — eliminating legacy's per-row/file-rewrite // lookup pattern. public interface IEntityLookupService { // Keyed by IceMapDetails.EntityId, then by the raw code/name value from the source file. Task>> ResolveAllLookupsAsync( ParsedImportDataSetDTO parsedData, IceMapDTO mapDefinition, LoginDTO login, CancellationToken ct); }