private void m_oWorker_DoWork(object sender, DoWorkEventArgs e) { // The sender is the BackgroundWorker object we need it to // report progress and check for cancellation. //NOTE : Never play with the UI thread here... selected_databases.Clear(); foreach (ColoredItem item in lb_pri_db.SelectedItems) { // for (int iter=0; iter < lb_pri_db.SelectedItems.Count; iter++ ) //{ LSDB lsdb = new LSDB { database_name = item.Text.ToString(), src_share_path = tb_src_share.Text, dest_share_path = tb_dest_share.Text, primary_server = tb_primary.Text.Trim(), secondary_server = tb_secondary.Text.Trim() }; selected_databases.Add(lsdb); } m_oWorker.ReportProgress(0); LogShipping ls = new LogShipping(); //string output = //await ls.backup_init_primary(selected_databases, tb_primary.Text.Trim()); if (m_oWorker.CancellationPending) { // Set the e.Cancel flag so that the WorkerCompleted event // knows that the process was cancelled. e.Cancel = true; m_oWorker.ReportProgress(0); return; } //Report 100% completion on operation completed m_oWorker.ReportProgress(100); }
private void m_oWorker_restore_DoWork(object sender, DoWorkEventArgs e) { selected_databases.Clear(); foreach (ColoredItem item in lb_pri_db.SelectedItems) { // for (int iter=0; iter < lb_pri_db.SelectedItems.Count; iter++ ) //{ LSDB lsdb = new LSDB { database_name = item.Text.ToString(), src_share_path = tb_src_share.Text, dest_share_path = tb_dest_share.Text, primary_server = tb_primary.Text.Trim(), secondary_server = tb_secondary.Text.Trim() }; selected_databases.Add(lsdb); } LogShipping ls = new LogShipping(); //string output = // await ls.restore_init_secondary(selected_databases, tb_primary.Text.Trim(), tb_secondary.Text.Trim(), tb_src_share.Text, tb_mdf_path.Text, tb_ldf_path.Text); m_oWorker_restore.ReportProgress(0); ls.restore_init_secondary(selected_databases, tb_primary.Text.Trim(), tb_secondary.Text.Trim(), tb_src_share.Text, tb_mdf_path.Text, tb_ldf_path.Text); if (m_oWorker_restore.CancellationPending) { // Set the e.Cancel flag so that the WorkerCompleted event // knows that the process was cancelled. e.Cancel = true; m_oWorker_restore.ReportProgress(0); return; } //Report 100% completion on operation completed m_oWorker_restore.ReportProgress(100); }