/// <summary>
        /// Проверка входящих данных
        /// </summary>
        /// <param name="onUpdate"></param>
        public override void CheckUpdate(Action <ISyncService <DataTable>, IRemoteData> onUpdate)
        {
            mBgWorker = new BackgroundWorker();

            mBgWorker.DoWork += (p, b) =>
            {
                IsBusy = true;

                if (!mSyncClient.Init())
                {
                    return;
                }

                if (!mSyncClient.CheckUpdate())
                {
                    return;
                }

                //если есть новые входящие данные
                while (mSyncClient.New.Any())
                {
                    var data = mSyncClient.New.Pop();

                    data.State = RemoteState.ToRecive;

                    onUpdate(this, data); //обновляю их
                }
            };

            mBgWorker.RunWorkerCompleted +=
                (sender, obj) => IsBusy   = false;


            mBgWorker.RunWorkerAsync();
        }
        /// <summary>
        /// Инициализация
        /// </summary>
        private void Init()
        {
            //перевожу uptime в миллисекунды
            mSyncClient = SyncSettings.Client as IRemoteClient <BaseSyncRemoteData>;

            if (mSyncClient == null)
            {
                throw new Exception("Некорректно задан клиент для синхронизации");
            }

            IsBusy = false;


            mSyncClient.Init();
        }