private async void ValidacionesBiometrico() { try { await Task.Factory.StartNew(() => { var _mac_valida = new CATALOGO_EQUIPOS(); var _nics = VerificacionDispositivo.GetMacAddress(); foreach (var item in _nics) { _mac_valida = new cCatalogoEquipos().ValidarEquipoMAC(item.ips, item.mac); if (_mac_valida != null) { GlobalVar.gIP = _mac_valida.IP; GlobalVar.gMAC_ADDRESS = _mac_valida.MAC_ADDRESS; if (_mac_valida.BIOMETRIA == "S") { Application.Current.Dispatcher.Invoke((System.Action)(delegate { VisibleBotonBiometrico = Visibility.Visible; })); } break; } } }); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "Error"); } }
private async void autentificacion() { try { string MsjError = string.Empty; ErrorLogin = string.Empty; BandError = false; ///TODO:Quitar despues de pruebas if (SelectedCentro == -1) { ErrorLogin = res.ControlPenales.Login.LoginViewModel.seleccione_centro; BandError = true; return; } //GlobalVariables.gPass = UBD; //User.Password = //User.Password.ToUpper(); //User.Username = "******"; //User.Password = "******"; if (string.IsNullOrEmpty(User.Username) ? false : string.IsNullOrEmpty(User.Password) && huella == false ? false : true) //if (!string.IsNullOrEmpty(User.Username) || User.Username == "SYS" || User.Username == "TONGOLELE") { // if (User.Username == "SYSTEM" || User.Username == "SYS" || User.Username == "TONGOLELE") // User.Password = "******"; GlobalVariables.gUser = User.Username; //GlobalVariables.gPass = User.Password; //validar usuario LoginLoading = Visibility.Visible; USUARIO usr = null; if (await Task.Factory.StartNew <bool>(() => { usr = new cUsuario().ObtenerUsuario(User.Username); return(usr == null); })) { ErrorLogin = res.ControlPenales.Login.LoginViewModel.usuario_contrasena_incorrecto; BandError = true; return; } #region Valida Sesion if (!await Task.Factory.StartNew <bool>(() => { return(ValidarSesion()); })) { ErrorLogin = "******"; BandError = true; TBPwd.Focus(); return; } #endregion //OBTENEMOS usuario if (User.Username.Equals(usr.ID_USUARIO.Trim()) && (huella == true ? true : !string.IsNullOrEmpty(usr.PASSWORD) ? cEncriptacion.IsEquals(User.Password.ToUpper(), usr.PASSWORD) : false)) { huella = false; if ((!string.IsNullOrEmpty(usr.ESTATUS) ? usr.ESTATUS : string.Empty) == "S") { var hoy = Fechas.GetFechaDateServer; TimeSpan ts; if (User.Username == "SYSTEM") { ts = hoy.AddDays(100) - hoy; } else { ts = usr.VENCE_PASS.Value - hoy; } if (Math.Floor(ts.TotalDays) > 0) { Application.Current.MainWindow.Hide(); var _view = new ControlPenales.PrincipalView(); User.Nombre = User.Username == "SYSTEM" ? "SYSTEM" : string.Format("{0} {1} {2}", !string.IsNullOrEmpty(usr.EMPLEADO.PERSONA.NOMBRE) ? usr.EMPLEADO.PERSONA.NOMBRE.Trim() : string.Empty, !string.IsNullOrEmpty(usr.EMPLEADO.PERSONA.PATERNO) ? usr.EMPLEADO.PERSONA.PATERNO.Trim() : string.Empty, !string.IsNullOrEmpty(usr.EMPLEADO.PERSONA.MATERNO) ? usr.EMPLEADO.PERSONA.MATERNO.Trim() : string.Empty); User.Password = usr.PASSWORD; User.VigenciaPassword = usr.VENCE_PASS; User.CentroNombre = SelectCentro.DESCR; var _viewModel = new PrincipalViewModel(User); _view.DataContext = _viewModel; //centro GlobalVar.gCentro = GlobalVariables.gCentro = SelectedCentro.Value; Application.Current.MainWindow.Close(); var metro = Application.Current.Windows[0] as MahApps.Metro.Controls.MetroWindow; ((ContentControl)metro.FindName("contentControl")).Content = new BandejaEntradaView(); ((ContentControl)metro.FindName("contentControl")).DataContext = new BandejaEntradaViewModel(); //Validar permisos del equipo Splasher.Splash = new ControlPenales.Login.SplashScreen(); Splasher.ShowSplash(); var _error_validacion = true; CATALOGO_EQUIPOS _mac_valida = null; MessageListener.Instance.ReceiveMessage(res.General.verificando_crendenciales); ///Eliminar cuando se implemente la verificacion de equipo //await TaskEx.Delay(1500); ///Eliminar cuando se implemente la verificacion de equipo //esteban //if(!string.IsNullOrEmpty(GlobalVar.gIP) && !string.IsNullOrEmpty(GlobalVar.gMAC_ADDRESS)) //{ // _error_validacion = false; //} #region comentado await Task.Factory.StartNew(() => { var _nics = VerificacionDispositivo.GetMacAddress(); foreach (var item in _nics) { //borrar foreach (var item2 in item.ips) { Trace.WriteLine("\n>IP:" + item2 + " ,MAC:" + item.mac); } //hasta aqui _mac_valida = new cCatalogoEquipos().ValidarEquipoMAC(item.ips, item.mac); if (_mac_valida != null) { GlobalVar.gIP = _mac_valida.IP; GlobalVar.gMAC_ADDRESS = _mac_valida.MAC_ADDRESS; _error_validacion = false; break; } } }); #endregion //hasta aqui if (Parametro.VERIFICA_HD_SERIAL && _mac_valida != null) { _error_validacion = true; MessageListener.Instance.ReceiveMessage(res.General.revisando_disco_duro); await Task.Factory.StartNew(() => { var hds = VerificacionDispositivo.GETHDSerial(); foreach (var item in hds) { if (new cCatalogoEquipos().ValidarHD(item.SerialNo, _mac_valida.IP, _mac_valida.MAC_ADDRESS)) { _error_validacion = false; break; } else { MsjError = "Error al validar HD"; } } }); } //Validar si tiene permisos para entrar al centro await Task.Factory.StartNew(() => { var procesos = new cProcesoUsuario().ObtenerTodos(GlobalVariables.gUser, null, SelectCentro.ID_CENTRO).FirstOrDefault(); if (procesos == null) { Trace.WriteLine("no pudo validar procesos"); _error_validacion = true; } }); MessageListener.Instance.ReceiveMessage(res.General.esperando_validacion); await TaskEx.Delay(1500); //if (!_error_validacion) //_error_validacion = false; if (_error_validacion == false) { Splasher.CloseSplash(); CrearSesion(); _view.Show(); } else { MessageListener.Instance.ReceiveMessage("ACCESO DENEGADO"); await TaskEx.Delay(7500); Splasher.CloseSplash(); Application.Current.Shutdown(); } ///Eliminar cuando se implemente la verificacion de equipo //Splasher.CloseSplash(); //_view.Show(); ///Eliminar cuando se implemente la verificacion de equipo } else { ErrorLogin = res.ControlPenales.Login.LoginViewModel.password_caducado; BandError = true; await TaskEx.Delay(500); TBPwd.Focus(); } } else { ErrorLogin = res.ControlPenales.Login.LoginViewModel.usuario_inactivo; BandError = true; await TaskEx.Delay(500); TBPwd.Focus(); } } else { ErrorLogin = res.ControlPenales.Login.LoginViewModel.usuario_contrasena_incorrecto; BandError = true; await TaskEx.Delay(500); TBPwd.Focus(); } } else { ErrorLogin = res.ControlPenales.Login.LoginViewModel.usuario_contrasena_incorrecto; BandError = true; await TaskEx.Delay(500); TBPwd.Focus(); } } catch (Exception ex) { var trace = new System.Diagnostics.StackTrace(ex, true); Trace.WriteLine("\n>>>[Ubicación del Problema]"); Trace.WriteLine("Clase: " + trace.GetFrame((trace.FrameCount - 1)).GetMethod().ReflectedType.FullName); Trace.WriteLine("Metodo: " + trace.GetFrame((trace.FrameCount - 1)).GetMethod().Name); Trace.WriteLine("Linea: " + trace.GetFrame((trace.FrameCount - 1)).GetFileLineNumber()); Trace.WriteLine("Columna: " + trace.GetFrame((trace.FrameCount - 1)).GetFileColumnNumber()); Trace.WriteLine(ex.Message + " " + (ex.InnerException != null ? ex.InnerException.InnerException.Message : "")); StaticSourcesViewModel.ShowMessageError(res.General.algo_paso, res.ControlPenales.Login.LoginViewModel.error_login, ex); } }