private void ImportWaypoints(IEnumerable <string> fileNames, IFileTypeInfo fileTypeInfo) { var importer = _importers.Find(i => i.GetFileTypeInfo() == fileTypeInfo); foreach (var fileName in fileNames) { var waypoints = importer.ImportWaypoints(fileName); foreach (var wpt in waypoints) { _waypointsService.Waypoints.Add(wpt); } } }
private static MultiFileDialogResult ShowFileDialog(Window owner, FileDialog dialog, IList <IFileTypeInfo> fileTypes, string dirName, bool createAllSupportedFilter, bool createAllFilter) { if (!string.IsNullOrEmpty(dirName)) { dialog.InitialDirectory = dirName; } createAllSupportedFilter = createAllSupportedFilter && fileTypes.Count > 1; dialog.Filter = CreateFilter(fileTypes, createAllSupportedFilter, createAllFilter); if (!Directory.Exists(dialog.InitialDirectory)) { dialog.InitialDirectory = null; } if (dialog.ShowDialog(owner) != true) { return(new MultiFileDialogResult(null, new string[0])); } var filterIndex = dialog.FilterIndex - 1; if (createAllSupportedFilter) { filterIndex--; } IFileTypeInfo selectedFileType = null; if (filterIndex >= 0 && filterIndex < fileTypes.Count()) { selectedFileType = fileTypes.ElementAt(filterIndex); } return(new MultiFileDialogResult(selectedFileType, dialog.FileNames)); }
public MultiFileDialogResult(IFileTypeInfo fileTypeInfo, string[] fileNames) { _fileTypeInfo = fileTypeInfo; _fileNames = fileNames; }