using System.Data; using System.Threading; using System.Threading.Tasks; namespace GB5Shared.FileImport { public interface IFileToDataTableService { // Reads an Excel or CSV file from disk and returns its content as a DataTable. // All columns are string. DATE columns are converted to "dd-MMM-yyyy". Task ReadAsync( string filePath, ImportFileTypeEnum fileType, CancellationToken ct = default); // Reads an Excel or CSV file from raw bytes (decoded from Base64 by the caller). // Use this instead of ReadAsync when the file content arrives over the wire. Task ReadFromBytesAsync( byte[] bytes, ImportFileTypeEnum fileType, CancellationToken ct = default); } }