private void OpenClicked(object sender, RoutedEventArgs e) { // Create the file dialog with the filter string from the importers. OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = OpenFileDialogExtensions.GetFilterString(dialog.Filter, importManager.Importers); dialog.InitialDirectory = Assembly.GetEntryAssembly().Location; // Show the open file dialog. if (dialog.ShowDialog() == true) { // If we opened a file, try to get an importer for it. var importer = importManager.GetImporterForFileExtension(Path.GetExtension(dialog.FileName).Substring(1)); if (importer == null) { MessageBox.Show("No importer was found.", "Import Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } // Create a stream to the file. var fileStream = File.OpenRead(dialog.FileName); ViewModels.Add(new ViewModel(importer, fileStream)); } }
public void ImporterManagerTest() { ImporterManager manager = new ImporterManager(); manager.AddImporter(new XmlImporter()); BaseImporter importer = manager.GetImporterForFileExtension("xml"); Assert.IsTrue(importer.GetType().Equals(typeof(XmlImporter))); }