using Microsoft.Win32; namespace CRAWLER.Services; internal interface IFilePickerService { IReadOnlyList PickPdfFiles(bool multiselect); } internal sealed class FilePickerService : IFilePickerService { public IReadOnlyList PickPdfFiles(bool multiselect) { var dialog = new OpenFileDialog { Filter = "PDF (*.pdf)|*.pdf", Multiselect = multiselect, CheckFileExists = true, CheckPathExists = true }; return dialog.ShowDialog() == true ? dialog.FileNames : Array.Empty(); } }