private void CheckTableState(BackgroundWorker worker)
        {
            List <SyncHelper.ThreadState> listOfThread = new List <SyncHelper.ThreadState>();

            foreach (SyncTables table in _entities)
            {
                SyncHelper.ThreadState _threadState = new SyncHelper.ThreadState();
                _threadState.table  = table;
                _threadState.worker = worker;

                try
                {
                    Synchronize sync = new Synchronize(table.TableName, _filter, _threadState._event, new SqlConnection(_localConnectionString), new SqlConnection(_mainConnectionString));
                    ThreadPool.QueueUserWorkItem(new WaitCallback(sync.PerformSync), _threadState);
                    _threadState._event.WaitOne();
                }
                catch (Exception ex)
                {
                    Logs.ErrorLogs("CheckTableState", "ChecktableState", ex.Message);
                }
            }
            //while (DoneCount != _entities.Count - 5)
            //{

            //}
        }
        private void StartDeprovisionServer()
        {
            List <SyncHelper.ThreadState> listOfState = new List <SyncHelper.ThreadState>();
            SqlConnection mainConnection = new SqlConnection(_mainConnectionString);

            foreach (SyncTables table in _entities)
            {
                SyncHelper.ThreadState state = new SyncHelper.ThreadState();
                state.table  = table;
                state.worker = Worker;
                listOfState.Add(state);

                try
                {
                    Deprovision deprovision = new Deprovision(mainConnection, state._event, _filter, table.TableName);
                    ThreadPool.QueueUserWorkItem(new WaitCallback(deprovision.PerformDeprovisionTable), state);
                    state._event.WaitOne();
                }
                catch (Exception ex)
                {
                }
            }
        }
        private void StartDeprovisionClient()
        {
            List <SyncHelper.ThreadState> listOfState        = new List <SyncHelper.ThreadState>();
            List <ManualResetEvent>       deprovisionEvents  = new List <ManualResetEvent>();
            List <ManualResetEvent>       deprovisionEvents1 = new List <ManualResetEvent>();
            SqlConnection localConnection = new SqlConnection(_localConnectionString);

            foreach (SyncTables table in _entities)
            {
                SyncHelper.ThreadState state = new SyncHelper.ThreadState();
                state.table  = table;
                state.worker = Worker;
                listOfState.Add(state);

                try
                {
                    Deprovision deprovision = new Deprovision(localConnection, state._event, _filter, table.TableName);
                    ThreadPool.QueueUserWorkItem(new WaitCallback(deprovision.PerformDeprovisionTable), state);
                }
                catch (Exception ex)
                {
                }
            }
        }
        private void StartProvision()
        {
            List <SyncHelper.ThreadState> listOfState = new List <SyncHelper.ThreadState>();
            SqlConnection localConnection             = new SqlConnection(_localConnectionString);
            SqlConnection mainConnection = new SqlConnection(_mainConnectionString);

            foreach (SyncTables table in _entities)
            {
                SyncHelper.ThreadState state = new SyncHelper.ThreadState();
                state.table  = table;
                state.worker = Worker;
                listOfState.Add(state);

                try
                {
                    Provision provision = new Provision(table.TableName, localConnection, mainConnection, state._event, _filter, _branchCorpOfficeId);
                    ThreadPool.QueueUserWorkItem(new WaitCallback(provision.PrepareDatabaseForSynchronization), state);
                    state._event.WaitOne();
                }
                catch (Exception ex)
                {
                }
            }
        }