public Model.TrackingModel createTracking(RegistroModel registro,UsuarioModel usuario,string accion)
 {
     Model.TrackingModel track = new Model.TrackingModel();
     try
     {
         string valor="";
         valor = new JavaScriptSerializer().Serialize(registro);
         track.IdTracking = long.Parse(( String.Format("{0:yyyy:MM:dd:HH:mm:ss:fff}", DateTime.Now) ).Replace(":", ""));
         track.Accion = accion;
         track.Valor = valor;
         track.Ip = GetIP();
         track.Equipo = Environment.MachineName;
         track.Ubicacion = Environment.OSVersion.ToString();
         track.IdUsuario = usuario.IdUsuario;
         track.IsModified = true;
         track.LastModifiedDate = long.Parse((String.Format("{0:yyyy:MM:dd:HH:mm:ss:fff}", DateTime.Now)).Replace(":", ""));
         track.ServerLastModifiedDate = 0;
         track.IdPuntoMedicion = registro.IdPuntoMedicion;
         track.FechaNumerica =(long)registro.FechaNumerica;
     }
     catch (Exception)
     {
         ;
     }
     return track;
 }
        public UsuarioModel AutoLogin()
        {
            UsuarioModel user = new UsuarioModel();
            using (var entity = new db_SeguimientoProtocolo_r2Entities())
            {
                try
                {
                    ( from res in entity.spAutoLogin()
                                      select res ).Take(1).ToList().ForEach(row =>
                                      {
                                          user.IdUsuario = row.IdUsuario;
                                          user.UsuarioCorreo = row.UsuarioCorreo;
                                          user.UsuarioPwd = row.UsuarioPwd;
                                          user.Nombre = row.Nombre;
                                          user.Apellido = row.Apellido;
                                          user.Area = row.Area;
                                          user.Puesto = row.Puesto;
                                          user.IsActive = row.IsActive;
                                          user.IsModified = row.IsModified;
                                          user.LastModifiedDate = row.LastModifiedDate;
                                          user.IsNuevoUsuario = row.IsNewUser;
                                      });
                }

                catch (Exception)
                {
                    user = null;
                }
            }
            return user;
        }
        public MainWindow(UsuarioModel usuarioModel)
        {
            InitializeComponent();
            this.controls = new Dictionary<string, PuntosMedicionView>();
            vm = new TableroViewModel(c);
            vm.PuntoMedicionSelectedHandler += vm_PuntoMedicionSelectedHandler;
            int SyncTime = Int32.Parse(ConfigurationManager.AppSettings["SyncTime"].ToString());
            int SyncTimeSol = Int32.Parse(ConfigurationManager.AppSettings["SyncTimeSol"].ToString());
            this._ImgSync = (Storyboard) this.FindResource("rotateImg");

            this.DataContext = vm;
            vm.Usuario = usuarioModel;
            cPuntoMedicion.DataContext = vm.cPuntosMedicion;
            //cPuntoMedicion.init(this, vm);
            cLumbreras.DataContext = vm.cLumbreras;
            //cLumbreras.init(this,vm);
            cEstPluviograficas.DataContext = vm.cEstPluviograficas;
            //cEstPluviograficas.init(this, vm);

            //Timer de Sincronizacion Recurrente
            DTimerUploadProcess = new DispatcherTimer();
            DTimerUploadProcess.Tick += new EventHandler(DTimerUploadProcess_Tick);
            DTimerUploadProcess.Interval = new TimeSpan(0, 0, 60);
            DTimerUploadProcess.Start();
            SyncRecurrentSingleton.Instance.DidCiRegistroDataChangedEvent += Instance_DidCiRegistroDataChangedEvent;

            GetAppTitle();
            vm.PropertyChanged += new PropertyChangedEventHandler(vm_PropertyChanged);
            //this.txbMenssage.Text = logvm.GetDataTimeLastSyncLog();
        }
        public UsuarioModel AutoLoginNew()
        {
            UsuarioModel user = new UsuarioModel();
            try
            {

            }
            catch (Exception ex)
            {

            }
            return user;
        }
 public UsuarioModel Download_AppUsuario(string Usuario, string Password)
 {
     UsuarioModel result = new UsuarioModel();
     try
     {
         using (var repository=new  AppUsuarioRepository())
         {
             result = repository.getUsuario(Usuario, Password);
         }
     }
     catch (Exception)
     {
     }
     return result;
 }
        public Main(UsuarioModel usuarioModel)
        {
            InitializeComponent();
            InfoLoad();
            vmMain = new MainViewModel();
            vmMain.Usuario = usuarioModel;
            vmMain.GetSyncThread();
            vmMain.PropertyChanged += vmMain_PropertyChanged;
            SyncRecurrentSingleton.Instance.PropertyChanged += Instance_PropertyChanged;
            this.DataContext = vmMain;
            vmMain.GetSyncThread();

            DTimerUploadProcess = new DispatcherTimer();
            DTimerUploadProcess.Tick += new EventHandler(DTimerUploadProcess_Tick);
            DTimerUploadProcess.Interval = new TimeSpan(0, 0, 60);
            DTimerUploadProcess.Start();
        }
        public void AttmpCloseSesion()
        {
            bool x = false;
               x = (DialogService.ShowResult("¿Esta seguro que desea cerrar sesión?", "Información.") == MessageBoxResult.OK) ? true : false;
               if (x)
               {
               using (var repository=new AppUsuarioRepository())
               {
                   repository.CloseSession();
                   this.Usuario = null;
               }//usuarioRepository.CurrentSesion(this.Usuario.IdUsuario, false);

               }
        }
        public bool Insert(RegistroModel item, UsuarioModel user)
        {
            bool x = false;
            try
            {
                using (var entity = new db_SeguimientoProtocolo_r2Entities())
                {
                    if (item != null)
                    {
                        CI_REGISTRO result = null;
                        try
                        {
                            result = (from i in entity.CI_REGISTRO
                                      where i.IdRegistro == item.IdRegistro
                                      select i).First();
                        }
                        catch (Exception)
                        {
                            try
                            {
                                result = (from i in entity.CI_REGISTRO
                                          where i.IdPuntoMedicion == item.IdPuntoMedicion
                                          && i.FechaNumerica == item.FechaNumerica
                                          select i).FirstOrDefault();
                            }
                            catch (Exception)
                            {
                            }
                        }

                        try
                        {
                            if (result == null)
                            {
                                entity.CI_REGISTRO.AddObject(
                                    new CI_REGISTRO()
                                    {
                                        IdRegistro = item.IdRegistro,
                                        IdPuntoMedicion = item.PUNTOMEDICION.IdPuntoMedicion,
                                        FechaCaptura = item.FechaCaptura,
                                        HoraRegistro = item.HoraRegistro,
                                        DiaRegistro = item.DiaRegistro,
                                        Valor = item.Valor,
                                        AccionActual = item.AccionActual,
                                        IsActive = true,
                                        IsModified = true,
                                        LastModifiedDate = new UNID().getNewUNID(),
                                        IdCondicion = item.Condicion.IdCondicion,
                                        FechaNumerica = item.FechaNumerica
                                    });
                                entity.SaveChanges();
                                trackRepository.InsertTracking(trackRepository.createTracking(item, user, "Insert"));
                                _SyncRepository.UpdateIsModifiedData(ID_SYNCTABLE);
                            }
                            else
                            {
                                string query =
                                             "DECLARE @FechaNumerica bigint=" + item.FechaNumerica + ";"
                                            + " DECLARE @IdPuntoMedicion bigint=" + item.PUNTOMEDICION.IdPuntoMedicion + ";"
                                            + " DECLARE @Valor float={0};"
                                            + " DECLARE @AccionActual nvarchar(1000)='" + item.AccionActual + "';"
                                            + " DECLARE @IdCondicion bigint=" + item.Condicion.IdCondicion+";"
                                            +"\n"
                                            +" update CI_REGISTRO"
                                            +"	set "
                                            +"		Valor=@Valor,"
                                            +"		AccionActual=@AccionActual,"
                                            +"		IdCondicion=@IdCondicion,"
                                            +"		IsModified=1,"
                                            +"		LastModifiedDate=dbo.UDF_NewUnid() "
                                            +"	where IdPuntoMedicion=@IdPuntoMedicion "
                                            +"	and FechaNumerica=@FechaNumerica ;"
                                            +"SELECT 1";

                                //result.IdPuntoMedicion = item.PUNTOMEDICION.IdPuntoMedicion;
                                //result.FechaCaptura = item.FechaCaptura;
                                //result.HoraRegistro = item.HoraRegistro;
                                //result.DiaRegistro = item.DiaRegistro;
                                //result.Valor = item.Valor;
                                //result.AccionActual = item.AccionActual;
                                //result.IsModified = true;
                                //result.LastModifiedDate = new UNID().getNewUNID();
                                //result.IdCondicion = item.Condicion.IdCondicion;
                                //result.FechaNumerica = item.FechaNumerica;
                                object[] parametros=new object[5];
                                parametros[0] = item.FechaNumerica;
                                parametros[1] = item.PUNTOMEDICION.IdPuntoMedicion;
                                parametros[2] = item.Valor;
                                parametros[3] = item.AccionActual;
                                parametros[4] = item.Condicion.IdCondicion;
                                entity.ExecuteStoreQuery<int?>(query, item.Valor);
                                //entity.SaveChanges();
                                _SyncRepository.UpdateIsModifiedData(ID_SYNCTABLE);
                                trackRepository.InsertTracking(trackRepository.createTracking(item, user, "Update"));
                            }
                            x = true;
                            this.RaiseDidCiRegistroRecurrentDataChanged(true);
                        }
                        catch (Exception ex)
                        {
                            AppBitacoraRepository.Insert(new AppBitacoraModel() { Fecha = DateTime.Now, Metodo = ex.StackTrace, Mensaje = ex.Message });
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AppBitacoraRepository.Insert(new AppBitacoraModel() { Fecha = DateTime.Now, Metodo = ex.StackTrace, Mensaje = ex.Message });
            }
            return x;
        }
 public CategoriasViewModel( UsuarioModel user)
 {
     this.PuntosMedicion = new ObservableCollection<PuntoMedicionModel>();
     this.Usuario = user;
 }
 public UsuarioModel getUsuario(string Usuario, string Password)
 {
     UsuarioModel item = new UsuarioModel();
     using (var entity = new db_SeguimientoProtocolo_r2Entities())
     {
         entity.spLogin(Usuario, Password).ToList().ForEach(row => {
             item.IdUsuario = row.IdUsuario;
             item.UsuarioCorreo = row.UsuarioCorreo;
             item.UsuarioPwd = row.UsuarioPwd;
             item.Nombre = row.Nombre;
             item.Apellido = row.Apellido;
             item.Area = row.Area;
             item.Puesto = row.Puesto;
             item.IsActive = row.IsActive;
             item.IsModified = row.IsModified;
             item.LastModifiedDate = row.LastModifiedDate;
             item.IsNewUser = row.IsNewUser;
             item.IsVerified = row.IsVerified;
             item.IsMailSent = row.IsMailSent;
             item.ServerLastModifiedDate = row.ServerLastModifiedDate;
         });
     }
     return item;
 }
 public void UpdateRegistro(Model.RegistroModel condpro,UsuarioModel usuario)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Retorna el usuario en base a un mail y un password. Retorna null si el usuario y pass no coinciden
        /// </summary>
        /// <param name="userMail"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public UsuarioModel GetUsuario(string userMail, string password,bool isSaveSesion)
        {
            UsuarioModel um = null;
            using (var entity = new db_SeguimientoProtocolo_r2Entities())
            {
                try
                {
                    var res = ( from o in entity.APP_USUARIO
                                //where o.UsuarioCorreo == userMail && o.UsuarioPwd == password
                                select o ).First<APP_USUARIO>();

                    um = new UsuarioModel()
                    {
                        IdUsuario = res.IdUsuario,
                        UsuarioCorreo = res.UsuarioCorreo,
                        Apellido = res.Apellido,
                        Area = res.Area,
                        Nombre = res.Nombre,
                        Puesto = res.Puesto,
                        //UsuarioPwd = res.UsuarioPwd,
                        IsActive = res.IsActive
                    };
                    //En caso de encontrar al usuario Gurda la sesion
                    CurrentSesion(res.IdUsuario, isSaveSesion);
                }
                catch (Exception ex)
                {
                    ;
                }
            }

            return um;
        }
 public UsuarioModel GetCurrentUser()
 {
     UsuarioModel user = null;
     try
     {
         using (var entity = new db_SeguimientoProtocolo_r2Entities())
         {
             entity.spSelectCurrentUser().ToList().ForEach(row =>
              {
                  user = new UsuarioModel();
                  user.IdUsuario = row.IdUsuario;
                  user.UsuarioCorreo = row.UsuarioCorreo;
                  user.UsuarioPwd = row.UsuarioPwd;
                  user.Nombre = row.Nombre;
                  user.Apellido = row.Apellido;
                  user.Area = row.Area;
                  user.Puesto = row.Puesto;
                  user.IsActive = row.IsActive;
                  user.IsModified = row.IsModified;
                  user.LastModifiedDate = row.LastModifiedDate;
                  user.IsNewUser = row.IsNewUser;
                  user.IsVerified = row.IsVerified;
                  user.IsMailSent = row.IsMailSent;
                  user.ServerLastModifiedDate = row.ServerLastModifiedDate;
              });
         }
     }
     catch (Exception ex)
     {
         user = null;
     }
     return user;
 }
 private bool Upsert(UsuarioModel items)
 {
     bool x = false;
     using (var entity = new db_SeguimientoProtocolo_r2Entities())
     {
         try
         {
             entity.spInsertUsuario(
                 items.IdUsuario,
                 items.UsuarioCorreo,
                 items.UsuarioPwd,
                 items.Nombre,
                 items.Apellido,
                 items.Area,
                 items.Puesto,
                 items.IsActive,
                 items.IsModified,
                 items.LastModifiedDate,
                 items.IsNewUser,
                 items.IsVerified,
                 items.IsMailSent,
                 items.ServerLastModifiedDate
                 );
         }
         catch (Exception ex)
         {
             AppBitacoraRepository.Insert(new AppBitacoraModel() { Fecha = DateTime.Now, Metodo = ex.StackTrace, Mensaje = ex.Message });
         }
         return x;
     }
 }