private async void StartButton_Click(object sender, EventArgs e) { var config = LoadConfigFromForm().FixOptionalValues(); SaveConfigToForm(config); ClearOutputLog(); try { config.Validate(); } catch (ArgumentException ex) { MessageBox.Show(ex.Message, "XsDupeFinder Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } SetFormState(false); try { var duplicateFinder = new DirectoryDuplicateFinder(config, UpdateOutputLog); await Task.Run(() => new RenderOutput(config, duplicateFinder.Execute()).Execute()); } finally { SetFormState(true); } }
static void Execute(Configuration configuration) { configuration.FixOptionalValues(); try { configuration.Validate(); } catch (ArgumentException ex) { Console.WriteLine("Configuration error: " + ex.Message); return; } var duplicates = new DirectoryDuplicateFinder(configuration, (msg) => Console.WriteLine(msg)).Execute(); new RenderOutput(configuration, duplicates).Execute(); }