private void InsertLog(string msj, string exc)
 {
     DateTime dt = DateTime.Now;
     SyncLogRepository syncLogRepository = new SyncLogRepository();
     syncLogRepository.InsertSyncLog(new SyncLogModel()
     {
         IdSyncLog = long.Parse(( String.Format("{0:yyyy:MM:dd:HH:mm:ss:fff}", dt) ).Replace(":", "")),
         Fecha = DateTime.Parse(String.Format("{0:dd/MM/yyyy}", dt)),
         Hora = ( String.Format("{0:HH:mm:ss}", dt) ),
         Menssage = msj,
         Exception = exc
     });
 }
        //Métodos
        private void DoWork()
        {
            SQLLogger.Instance.log("init", "DoWork (0.1)");
            //operacion de sincronizacion
            try
            {
                //Agregar Validacion con el server
                SyncLogRepository syncLogRepository = new SyncLogRepository();
                if (syncLogRepository.PingServer())
                {
                    Protell.DAL.Repository.v2.ModifiedDataRepository modifiedDataRepository = new Protell.DAL.Repository.v2.ModifiedDataRepository();
                    List<ModifiedDataModel> tablesName = modifiedDataRepository.DownloadModifiedData();

                    bool status = true;
                    bool downloadStatus = true;
                    IsRestart = false;

                    //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;
                        SQLLogger.Instance.log("status", downloadStatus.ToString());
                        if (status)
                        {
                            modifiedDataRepository.UpdateServerModifiedDate(item);
                        }
                    }//foreach

                    //UploadData();
                    //Subir datos
                    if (downloadStatus)
                    {
                        Protell.DAL.Repository.v2.CiRegistroRepository crr = new DAL.Repository.v2.CiRegistroRepository();
                        SQLLogger.Instance.log("init", "DoWork (1)");
                        crr.Upload();
                        SQLLogger.Instance.log("end upload ci registro", "DoWork (2)");
                        Protell.DAL.Repository.v2.CiTrakingRepository traking = new Protell.DAL.Repository.v2.CiTrakingRepository();
                        traking.Upload();
                        SQLLogger.Instance.log("end upload ci registro tracking", "DoWork (3)");
                    }

                    foreach (ModifiedDataModel item in tablesName)
                    {
                        //Valida los catalogos
                        string cat = item.SYNCTABLE.SyncTableName.ToUpper().Substring(0, 3);
                        if (cat == "CAT")
                        {
                            this.IsRestart = true;
                            break;
                        }
                    }
                }
                else
                {
                    AppBitacoraRepository.Insert(new AppBitacoraModel() { Fecha = DateTime.Now, Metodo = "DoWork()", Mensaje = "No hay Internet" });
                }
            }
            catch (Exception ex)
            {
                this.IsRun = false;
            }

            this.IsRun = false;
            //Levantar evento de fin
        }
 private void LoadPropiedades()
 {
     syncLogRepository = new SyncLogRepository();
     _SistemaRepository = new SistemaRepository();
     _RegistroRepository = new RegistroRepository();
     _ServerLastDataRepository = new ServerLastDataRepository();
     _UploadLogRepository = new UploadLogRepository();
     _EvidenceSyncRepository = new EvidenceSyncRepository();
     _SyncRepository = new SyncRepository();
     _CondProRepository = new CondProRepository();
     _DependenciaRepository = new DependenciaRepository();
     _EstPuntoMedRepository = new EstPuntoMedRepository();
     _EstructuraRepository = new EstructuraRepository();
     _EstructuraDependenciaRepository = new EstructuraDependenciaRepository();
     _PuntoMedicionRepository = new PuntoMedicionRepository();
     _TipoPuntoMedicionRepository = new TipoPuntoMedicionRepository();
     _UnidadMedidaRepository = new UnidadMedidaRepository();
     //_ConsideracionRepository = new ConsideracionRepository();
     //_AccionProtocoloRepository = new AccionProtocoloRepository();
     _CnfSettingRepository = new CnfSettingRepository();
     routeService = ConfigurationManager.AppSettings["RutaServicioSubida"].ToString();
     routeDownload = ConfigurationManager.AppSettings["RutaServicioDescarga"].ToString();
     basicAuthUser = ConfigurationManager.AppSettings["basicAuthUser"].ToString();
     basicAuthPass = ConfigurationManager.AppSettings["basicAuthPass"].ToString();
     contador = int.Parse(ConfigurationManager.AppSettings["ContSettings"].ToString());
     TopLog = int.Parse(ConfigurationManager.AppSettings["TopLog"].ToString());
 }
        public TableroViewModel(IConfirmation con)
        {
            syncRepository = new SyncLogRepository();
            accionRepository = new CatAccionActualRepository();
            //Condicion
            this._CondProRepository = new Protell.DAL.Repository.CondProRepository();
            this._PuntoMedicionMaxMinRepository = new Protell.DAL.Repository.PuntoMedicionMaxMinRepository();
            this._RegistroRepository = new Protell.DAL.Repository.RegistroRepository();
            this._Confirmation = con;
            this.usuarioRepository = new UsuarioRepository();
            //Categorias
            cPuntosMedicion = new CategoriasViewModel(this.Usuario);
            cPuntosMedicion.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(cPuntosMedicion_PropertyChanged);

            cLumbreras = new CategoriasViewModel(this.Usuario);
            cLumbreras.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(cLumbreras_PropertyChanged);

            cEstPluviograficas = new CategoriasViewModel(this.Usuario);
            cEstPluviograficas.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(cEstPluviograficas_PropertyChanged);

            //PuntosMedicion
            pmAll = new PuntosMedicionViewModel();
            pmAll.PropertyChanged += pmAll_PropertyChanged;

            init();
        }
 public void GetSync()
 {
     SyncLogRepository sync=new SyncLogRepository();
        this.LastSync = sync.GetLastSync();
        this.BackgroundConnection = (sync.PingServer()) ? "#57339A1B" : "#57FB0707";
 }
 private void Load()
 {
     this.syncLogRepository = new SyncLogRepository();
     this.Log = new ObservableCollection<SyncLogModel>();
     this.LastSync = "";
     TopLog = int.Parse(ConfigurationManager.AppSettings["TopLog"].ToString());
 }