public List <UsuarioRoles> ReadByUsuario(int id_Usuario)
        {
            List <UsuarioRoles> result = default(List <UsuarioRoles>);
            var usuarioRolesDAC        = new UsuarioRolesDAC();
            List <UsuarioRoles> roles  = new List <UsuarioRoles>();

            result = usuarioRolesDAC.ReadByUsuario(id_Usuario);
            foreach (var item in result)
            {
                UsuarioRoles      roles1   = new UsuarioRoles();
                UsuariosComponent usuarios = new UsuariosComponent();

                RolesDAC rolesDAC = new RolesDAC();

                if (rolesDAC.VerificarSiEsUnPermiso(item.roles.Id) != null)
                {
                    roles1.Id = 1;
                    PermisoComponent permisoComponent = new PermisoComponent();
                    roles1.roles = permisoComponent.ReadBy(item.roles.Id);
                }
                else
                {
                    RolesComponent rolesComponent = new RolesComponent();
                    roles1.roles = rolesComponent.ReadBy(item.roles.Id);
                    roles1.Id    = 0;
                }
                roles1.usuarios = usuarios.ReadBy(item.usuarios.Id);



                roles.Add(roles1);
            }
            return(roles);
        }
        public Persona ReadBy(string id)
        {
            Persona    persona    = new Persona();
            PersonaDAC personaDAC = new PersonaDAC();

            persona = personaDAC.ReadBy(id);
            UsuariosComponent usuariosComponent = new UsuariosComponent();

            persona.usuarios = usuariosComponent.ReadBy(persona.usuarios.Id);
            return(persona);
        }
        public void VerificarIntentos(int id)
        {
            UsuariosComponent usuariosComponent = new UsuariosComponent();
            Usuarios          usuarioTabla      = new Usuarios();

            usuarioTabla = usuariosComponent.ReadBy(id);
            if (usuarioTabla.CantidadIntentos >= 4)
            {
                usuariosComponent.Bloquear(id);
            }
        }
        public bool VerificarBloqueado(int id)
        {
            UsuariosComponent usuariosComponent = new UsuariosComponent();
            Usuarios          usuarioTabla      = new Usuarios();

            usuarioTabla = usuariosComponent.ReadBy(id);
            if (usuarioTabla.Bloqueado)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        public bool VerificarContraseña(int id, Usuarios usuarios)
        {
            UsuariosComponent usuariosComponent = new UsuariosComponent();
            Usuarios          usuarioTabla      = new Usuarios();

            usuarioTabla = usuariosComponent.ReadBy(id);
            EncriptarSHA256 encriptarSHA256 = new EncriptarSHA256(usuarios.Password);
            string          pass            = encriptarSHA256.Hashear();

            if (usuarioTabla.Password == pass)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public List <Persona> Read()
        {
            PersonaDAC     personaDAC   = new PersonaDAC();
            List <Persona> listaPersona = new List <Persona>();
            List <Persona> result       = new List <Persona>();

            listaPersona = personaDAC.Read();
            foreach (Persona item in listaPersona)
            {
                UsuariosComponent usuariosComponent = new UsuariosComponent();
                Persona           persona           = new Persona();
                persona          = item;
                persona.usuarios = usuariosComponent.ReadBy(item.usuarios.Id);
                result.Add(persona);
            }



            return(result);
        }
        public bool VerificarDVH(int id, Usuarios usuarios)
        {
            UsuarioParcial usuariosFormateado = new UsuarioParcial();

            usuariosFormateado.Bloqueado = usuarios.Bloqueado;
            usuariosFormateado.Email     = usuarios.Email;
            usuariosFormateado.UserName  = usuarios.Email;
            usuariosFormateado.Password  = usuarios.Password;
            UsuariosComponent usuariosComponent = new UsuariosComponent();
            Usuarios          usuarioTabla      = new Usuarios();

            usuarioTabla = usuariosComponent.ReadBy(id);
            string dvhIngresado = DigitoVerificadorH.getDigitoEncriptado(usuariosFormateado);

            if (usuarioTabla.DVH.DVH == dvhIngresado)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }