private async void buttonConvert_Click(object sender, RoutedEventArgs e) { buttonConvert.IsEnabled = false; Cursor = Cursors.Wait; textBlockScanStatus.Text = "scanning..."; progressBarScan.Visibility = Visibility.Visible; taskBarProgressScan.ProgressState = System.Windows.Shell.TaskbarItemProgressState.Indeterminate; monsterListDataTable.Rows.Clear(); string inputDir = textBoxInputPath.Text; string outputDir = textBoxOutputPath.Text; IMonsterConverter inputFormat = (IMonsterConverter)comboInputFormat.SelectedItem; IMonsterConverter outputFormat = (IMonsterConverter)comboOutputFormat.SelectedItem; ScanError result = ScanError.Success; await Task.Run(() => { result = fileProcessor.ConvertMonsterFiles(inputDir, inputFormat, outputDir, outputFormat, true); }); switch (result) { case ScanError.Success: textBlockScanStatus.Text = "Completed successfully."; break; case ScanError.NoMonstersFound: textBlockScanStatus.Text = "Couldn't find any monster files."; break; case ScanError.InvalidMonsterDirectory: textBlockScanStatus.Text = "The selected project directory is invald."; break; case ScanError.InvalidMonsterFormat: textBlockScanStatus.Text = "The selected input or output monster format is invalid."; break; case ScanError.CouldNotCreateDirectory: textBlockScanStatus.Text = "Couldn't create destination directory."; break; case ScanError.DirectoriesMatch: textBlockScanStatus.Text = "Input and output directories can't be the same."; break; default: break; } taskBarProgressScan.ProgressState = System.Windows.Shell.TaskbarItemProgressState.None; progressBarScan.Visibility = Visibility.Hidden; Cursor = Cursors.Arrow; buttonConvert.IsEnabled = true; }
public bool ScanFiles() { Console.WriteLine("Scanning..."); ScanError result = fileProcessor.ConvertMonsterFiles(inputDirectory, input, outputDirectory, output, mirrorFolderStructure); switch (result) { case ScanError.Success: Console.WriteLine("Completed."); Console.WriteLine($"{ConvertSuccessCount} Monsters converted succesfully."); Console.WriteLine($"{ConvertWarningCount} Monsters converted with warnings."); Console.WriteLine($"{ConvertErrorCount} Monsters converted with errors."); break; case ScanError.NoMonstersFound: Console.WriteLine("Couldn't find any monster files."); break; case ScanError.InvalidMonsterDirectory: Console.WriteLine("The selected project directory is invald."); break; case ScanError.InvalidMonsterFormat: Console.WriteLine("The selected input or output monster format is invalid."); break; case ScanError.CouldNotCreateDirectory: Console.WriteLine("Couldn't create destination directory."); break; case ScanError.DirectoriesMatch: Console.WriteLine("Input and output directories can't be the same."); break; default: break; } return(result == ScanError.Success); }