public void Import(ImportQueueItemViewModel importQueueItemViewModel) { string databaseDumpFilePath; if (SharedSetupContext.SelectedDownloadMode == SharedSetupContext.DownloadMode.DOWNLOAD_MANAGER) { databaseDumpFilePath = importQueueItemViewModel.Collection.DownloadFilePath; } else { OpenFileDialogResult selectDatabaseDumpFileDialogResult = ImportWindowViewModel.SelectDatabaseDumpFile(MainModel); if (!selectDatabaseDumpFileDialogResult.DialogResult) { return; } databaseDumpFilePath = selectDatabaseDumpFileDialogResult.SelectedFilePaths.First(); } importQueueItemViewModel.Status = ImportQueueItemStatus.IMPORTING; TableType expectedTableType; switch (importQueueItemViewModel.Collection.Identifier) { case SharedSetupContext.CollectionIdentifier.NON_FICTION: expectedTableType = TableType.NON_FICTION; break; case SharedSetupContext.CollectionIdentifier.FICTION: expectedTableType = TableType.FICTION; break; case SharedSetupContext.CollectionIdentifier.SCIMAG: expectedTableType = TableType.SCI_MAG; break; default: throw new Exception($"Unexpected collection identifier: {importQueueItemViewModel.Collection.Identifier}."); } ImportWindowViewModel importWindowViewModel = new ImportWindowViewModel(MainModel, databaseDumpFilePath, expectedTableType); IWindowContext importWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.IMPORT_WINDOW, importWindowViewModel, SetupWizardWindowContext); importWindowContext.ShowDialog(); switch (importWindowViewModel.Status) { case ImportWindowViewModel.ImportStatus.IMPORT_COMPLETE: importQueueItemViewModel.Status = ImportQueueItemStatus.IMPORT_SUCCESSFUL; SelectNextImportQueueItem(); break; case ImportWindowViewModel.ImportStatus.IMPORT_CANCELLED: importQueueItemViewModel.Status = ImportQueueItemStatus.IMPORT_CANCELLED; break; default: importQueueItemViewModel.Status = ImportQueueItemStatus.IMPORT_ERROR; break; } }
public ImportWindow(ImportWindowViewModel vm) { this.DataContext = vm; InitializeComponent(); this.Loaded += async(object sender, RoutedEventArgs e) => { await vm.LoadData(); }; }
public ImportWindow() { InitializeComponent(); string[] args = Environment.GetCommandLineArgs(); ImportWindowViewModel vm; if (args.Length == 2) { string projectPath = args[1]; vm = new ImportWindowViewModel(projectPath); this.DataContext = vm; } else { vm = new ImportWindowViewModel(); this.DataContext = vm; } vm.SyncProblemsDetected += vm_SyncProblemsDetected; }