Beispiel #1
0
        /// <summary>
        /// Método que valida la clave del Usuario
        /// </summary>
        /// <param name="Clave">Clave a Validar</param>
        /// <returns>Resultado de la validacion</returns>
        public static bool ValidarClave(string Clave)
        {
            var ObjetoConfiguracion = NegConfiguracionGeneral.Obtener();
            int Numeros             = 0;
            int x = 0;

            Clave.ToArray();

            for (x = 0; x <= Clave.Length - 1; x++)
            {
                if (char.IsNumber(Clave[x]))
                {
                    Numeros++;
                }
            }

            if (Numeros == 0)
            {
                return(false);
            }
            else if (Numeros == Clave.Length)
            {
                return(false);
            }
            else if (Clave.Length < ObjetoConfiguracion.TamanioClave)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Método que valida los datos de un Usuario al Ingresar al Sistema
        /// </summary>
        /// <param name="Entidad">Objeto Usuario con el Nombre de Usuario y la Clave a validar</param>
        /// <returns>Objeto Resultado con el mensaje y el Objeto Usuario validado.</returns>
        public Resultado <UsuarioInfo> Validar(UsuarioInfo Entidad)
        {
            var ObjetoResultado = new Resultado <UsuarioInfo>();
            var ObjetoUsuario   = new UsuarioInfo();
            var NegUsuario      = new NegUsuarios();
            int?EstadoInactivo  = new int();

            try
            {
                var ObjetoConfiguracion = new ConfiguracionGeneralInfo();
                ObjetoConfiguracion = NegConfiguracionGeneral.Obtener();
                if (ObjetoConfiguracion == null)
                {
                    ObjetoResultado.Mensaje          = ArchivoRecursos.ObtenerValorNodo(Constantes.MensajesUsuario.ErrorConfiguracionNoEncontrada.ToString());
                    ObjetoResultado.ResultadoGeneral = false;
                    return(ObjetoResultado);
                }
                EstadoInactivo = NegTablas.IdentificadorMaestro(ConfigBase.TablaEstado, ConfigBase.CodigoInactivo);
                if (EstadoInactivo == null)
                {
                    ObjetoResultado.Mensaje          = ArchivoRecursos.ObtenerValorNodo(Constantes.MensajesUsuario.ErrorCodigoInactivoNoEncontrado.ToString());
                    ObjetoResultado.ResultadoGeneral = false;
                    return(ObjetoResultado);
                }
                ObjetoUsuario.NombreUsuario = Entidad.NombreUsuario;
                ObjetoResultado             = NegUsuario.Buscar(ObjetoUsuario);
                if (ObjetoResultado.ResultadoGeneral)
                {
                    ObjetoUsuario = ObjetoResultado.Lista.FirstOrDefault();
                    //Usuario no Encontrado
                    if (ObjetoUsuario == null)
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionNoEncontrado;
                    }
                    //Usuario Inactivo
                    else if (ObjetoUsuario.Estado_Id == EstadoInactivo)
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionInactivo;
                    }
                    //Clave Incorrecta
                    else if (ObjetoUsuario.Clave != Seguridad.Encriptar(Entidad.Clave))
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionErrorClave; ObjetoResultado.Objeto = ObjetoUsuario;
                    }
                    // Cambio de Clave
                    else if (Funciones.DateDiff(DateInterval.Day, (DateTime)ObjetoUsuario.UltimoCambioClave, DateTime.Now) >= ObjetoConfiguracion.PlazoValidez)
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionCambioClave;
                        ObjetoResultado.Objeto      = ObjetoUsuario;
                    }
                    //Primer Inicio
                    else if (ObjetoUsuario.PrimerInicio == true)
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionPrimerInicio;
                        ObjetoResultado.Objeto      = ObjetoUsuario;
                    }
                    //Aviso Cambio Clave
                    else if (ObjetoConfiguracion.PlazoValidez - Funciones.DateDiff(DateInterval.Day, (DateTime)ObjetoUsuario.UltimoCambioClave, DateTime.Now) <= ObjetoConfiguracion.Notificacion)
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionAvisoCambioClave;
                        ObjetoResultado.ValorInt    = int.Parse((ObjetoConfiguracion.PlazoValidez - Funciones.DateDiff(DateInterval.Day, (DateTime)ObjetoUsuario.UltimoCambioClave, DateTime.Now)).ToString());
                        ObjetoResultado.Objeto      = ObjetoUsuario;
                    }
                    //Aprobado
                    else
                    {
                        ObjetoResultado.ValorString = ConfigUsuario.ValidacionAprobado;
                        ObjetoResultado.Objeto      = ObjetoUsuario;
                    }
                    ObjetoResultado.Objeto = ObjetoUsuario;
                }
                return(ObjetoResultado);
            }
            catch (Exception Ex)
            {
                ObjetoResultado.ResultadoGeneral = false;
                if (Constantes.ModoDebug == true)
                {
                    ObjetoResultado.Mensaje = Ex.Message;
                }
                else
                {
                    ObjetoResultado.Mensaje = ArchivoRecursos.ObtenerValorNodo(Constantes.MensajesUsuario.ErrorListar.ToString()) + " Usuario";
                }
                return(ObjetoResultado);
            }
        }