protected override void BackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { e.Cancel = false; e.Result = null; string _connectionString = ViewModel.MainWindowModel.GetConnectionString(); ReportProgress(this, new ProgressChangedEventArgs(1, String.Format("Connection string {0}", _connectionString))); System.Data.IDbConnection _connection = new SqlConnection(_connectionString); IPRDEV _entities = new IPRDEV(_connection); WorkerReturnData m_WorkerReturnData = new WorkerReturnData(); if (_entities.DatabaseExists()) { ReportProgress(this, new ProgressChangedEventArgs(1, "The specified database exists.")); GetLastOperation(_entities, ArchivingOperationLogs.OperationName.Cleanup, ref m_WorkerReturnData.CleanupLastRunBy, ref m_WorkerReturnData.CleanupLastRunDate); GetLastOperation(_entities, ArchivingOperationLogs.OperationName.Synchronization, ref m_WorkerReturnData.SyncLastRunBy, ref m_WorkerReturnData.SyncLastRunDate); GetLastOperation(_entities, ArchivingOperationLogs.OperationName.Archiving, ref m_WorkerReturnData.ArchivingLastRunBy, ref m_WorkerReturnData.ArchivingLastRunDate); } else { ReportProgress(this, new ProgressChangedEventArgs(1, "The specified database cannot be opened.")); } NsSPLinq.Settings.GetCurrentContentVersion(Properties.Settings.Default.SiteURL, ref m_WorkerReturnData.CurrentContentVersion, ReportProgress); ReportProgress(this, new ProgressChangedEventArgs(1, String.Format("The current version of the site content is: {0}", m_WorkerReturnData.CurrentContentVersion.ToString()))); e.Result = m_WorkerReturnData; }
/// <summary> /// Runs the worker completed. /// </summary> /// <param name="result">The result.</param> protected override void RunWorkerCompleted(object result) { WorkerReturnData m_WorkerReturnData = (WorkerReturnData)result; Context.SyncLastRunBy = m_WorkerReturnData.SyncLastRunBy; Context.SyncLastRunDate = m_WorkerReturnData.SyncLastRunDate; Context.CleanupLastRunBy = m_WorkerReturnData.CleanupLastRunBy; Context.CleanupLastRunDate = m_WorkerReturnData.CleanupLastRunDate; Context.ArchivingLastRunBy = m_WorkerReturnData.ArchivingLastRunBy; Context.ArchivingLastRunDate = m_WorkerReturnData.ArchivingLastRunDate; Context.CurrentContentVersion = m_WorkerReturnData.CurrentContentVersion; SetEventMask(Events.Cancel | Events.Next | Events.Previous); Context.ButtonNextTitle = Properties.Resources.ButtonRun; Context.ButtonGoBackwardTitle = Properties.Resources.ButtonConnect; Context.ProgressChang(this, new ProgressChangedEventArgs(0, "Connected, the data has been retrieved successfully.")); }