Exemplo n.º 1
0
        /// <summary>
        /// stops the cases queue worker
        /// </summary>
        public void StopRlmDbWorkersCases()
        {
            case_queue.CompleteAdding();

            ctSourceCases.Cancel();

            dbSavingTime.Stop();

            RlmDbLogger.Info("\n" + string.Format("[{0:G}]: Data successfully saved to the database in {1}", DateTime.Now, dbSavingTime.Elapsed), Network.DatabaseName);
            if (ConfigFile.DropDb)
            {
                Task.Delay(5000).Wait();

                rlmDb.DropDB();

                RlmDbLogger.Info("\n" + string.Format("[{0:G}]: {1} database successfully dropped...\n*** END ***\n", DateTime.Now, Network.DatabaseName), Network.DatabaseName);
            }

            // notify parent network that db background workers are done
            DataPersistenceComplete?.Invoke();
            progressUpdater.Stop();

            foreach (var item in rlmDb.CaseWorkerQueues)
            {
                item.CompleteAdding();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// stops the cases queue worker
        /// </summary>
        public void StopRlmDbWorkersCases()
        {
            bcCasesQueue?.CompleteAdding();

            if (ConfigFile.DropDb)
            {
                Thread.Sleep(5000);

                rlmDb.DropDB();

                RlmDbLogger.Info("\n" + string.Format("[{0:G}]: {1} database successfully dropped...\n*** END ***\n", DateTime.Now, Network.DatabaseName), Network.DatabaseName);
            }

            progressUpdater.Stop();

            if (rlmDb.CaseWorkerQueues != null)
            {
                foreach (var item in rlmDb.CaseWorkerQueues)
                {
                    item.WorkerQueues.CompleteAdding();
                }
            }
        }