コード例 #1
0
ファイル: DatabaseUpdateDialog.cs プロジェクト: radtek/BootFX
        private void Run(DatabaseUpdateOperation type)
        {
            // check...
            if (_thread != null)
            {
                throw new InvalidOperationException("A database update operation is already running.");
            }

            // create...
            ConnectionSettings settings = Database.DefaultConnectionSettings;

            if (settings == null)
            {
                throw new InvalidOperationException("settings is null.");
            }

            // create...
            _thread = new ThreadUIHelper(this, this.operation);
            _thread.ThreadStarted  += new EventHandler(_thread_ThreadStarted);
            _thread.ThreadFinished += new EventHandler(_thread_ThreadFinished);
            _thread.Failed         += new System.Threading.ThreadExceptionEventHandler(_thread_Failed);
            _thread.RunAsync(this, "RunInternal", type);

            // reset...
            this.RefreshButtons();
        }
コード例 #2
0
ファイル: DatabaseUpdateDialog.cs プロジェクト: radtek/BootFX
        private void RunInternal(DatabaseUpdateOperation type)
        {
            DatabaseUpdateUIWorker worker = new DatabaseUpdateUIWorker(Database.DefaultConnectionSettings, type,
                                                                       this.operation);

            worker.CheckComplete  += new DatabaseUpdateCheckResultsEventHandler(worker_CheckComplete);
            worker.UpdateComplete += new EventHandler(worker_UpdateComplete);
            worker.DoWork();
        }
コード例 #3
0
ファイル: DatabaseUpdateThread.cs プロジェクト: radtek/BootFX
        internal DatabaseUpdateUIWorker(ConnectionSettings settings, DatabaseUpdateOperation type, IOperationItem operation)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            // set...
            _settings  = settings;
            _type      = type;
            _operation = operation;
        }