Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }