private void UploadData()
        {
            try
            {
                Protell.DAL.Repository.v2.ModifiedDataRepository modifiedDataRepository = new Protell.DAL.Repository.v2.ModifiedDataRepository();
                ObservableCollection<ModifiedDataModel> tablesName = modifiedDataRepository.GetUploadTables();

                //TEST: Solo tomar la de CI_REGISTRO

                if (tablesName != null && tablesName.Count > 0)
                {
                    foreach (ModifiedDataModel item in tablesName)
                    {
                        //TODO: Solo tomar la de CI_REGISTRO para aplicacion captura
                        bool x = false;
                        IServiceFactory factory = ServiceFactory.Instance.getClass(item.SYNCTABLE.SyncTableName);
                        if (item.SYNCTABLE.SyncTableName.ToUpper() == "CI_REGISTRO")
                        {
                            //TODO: Cuando se haya probado la descarga de información de los catálogos pasar estas lineas fuera del if
                            if (((Protell.DAL.Repository.v2.CiRegistroRepository)factory).Upload())
                            {
                                modifiedDataRepository.UpdateServerModifiedDate(item);
                            }
                        }//endif
                    }//endforeach
                }//endif
            }
            catch (Exception ex)
            {
                this._isRuning = false;
            }
        }
        private void DoWork()
        {
            //Levantar evento de inicio

            //operacion de sincronizacion
            try
            {
                Protell.DAL.Repository.v2.ModifiedDataRepository modifiedDataRepository = new Protell.DAL.Repository.v2.ModifiedDataRepository();
                List<ModifiedDataModel> tablesName = modifiedDataRepository.DownloadModifiedData();

                bool status = true;
                bool downloadStatus = true;

                //TEST: Solo tomar la de CI_REGISTRO
                foreach (ModifiedDataModel item in tablesName)
                {
                    //TEST: Solo tomar la de CI_REGISTRO
                    IServiceFactory factory = ServiceFactory.Instance.getClass(item.SYNCTABLE.SyncTableName);
                    if (item.SYNCTABLE.SyncTableName.ToUpper() == "CI_REGISTRO")
                    {
                        //Escuchar evento
                        ((Protell.DAL.Repository.v2.CiRegistroRepository)factory).DidCiRegistroRecurrentDataChangedHandler += SyncRecurrentSingleton_DidCiRegistroRecurrentDataChangedHandler;
                        //TODO: Cuando se haya probado la descarga de información de los catálogos pasar estas lineas fuera del if

                    }
                    status = factory.Download();
                    downloadStatus = (downloadStatus == false || status == false) ? false : status;
                    if (status)
                    {
                        modifiedDataRepository.UpdateServerModifiedDate(item);
                    }
                }//foreach

                //Subir datos
                if (downloadStatus)
                {
                    Protell.DAL.Repository.v2.CiRegistroRepository crr = new DAL.Repository.v2.CiRegistroRepository();
                    crr.Upload();
                }
            }
            catch (Exception ex)
            {
                this._isRuning = false;
            }

            this._isRuning = false;
            //Levantar evento de fin
        }