private void Btn_Run_Click(object sender, RoutedEventArgs e) { try { ToggleRunCancelButtonEnabledState(true); DisableInputs(); BigSqlRunner = CreateBigSqlRunner(); BigSqlRunner.SaveConfig(null); BgWorker.WorkerReportsProgress = true; BgWorker.DoWork += DoWork; BgWorker.ProgressChanged += ProgressChanged; BgWorker.RunWorkerCompleted += WorkerCompleted; WriteLogMessage(MakeLog(new ProgressData("Started running..."))); BgWorker.RunWorkerAsync(); } catch (Exception ex) { RemoveBgWorkerEh(); MessageBox.Show(ex.Message); EnableInputs(); ToggleRunCancelButtonEnabledState(false); } }
protected void DoWork(object sender, DoWorkEventArgs e) { BigSqlRunner.Run( (executedUnits, affectedRows) => BgWorker.ReportProgress(-1, new ProgressData(executedUnits, affectedRows)), message => BgWorker.ReportProgress(-1, new ProgressData(message)) ); }
protected void WorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { RemoveBgWorkerEh(); EnableInputs(); ToggleRunCancelButtonEnabledState(false); if (BigSqlRunner.IsStopped()) { WriteLogMessage(MakeLog(new ProgressData("Canceled by user."))); } else if (null != e.Error) { WriteLogMessage(MakeLog(new ProgressData(e.Error.Message))); } else { WriteLogMessage(MakeLog(new ProgressData("Completed."))); } }
private void Btn_Cancel_Click(object sender, RoutedEventArgs e) { Btn_Cancel.IsEnabled = false; BigSqlRunner.StopRunning(); }