Exemplo n.º 1
0
        /// <inheritdoc />
        public Usuario Login(string rutEmail, string password)
        {
            Persona persona = _repositoryPersona.GetByRutOrEmail(rutEmail);

            if (persona == null)
            {
                throw new ModelException("Usuario no encontrado");
            }

            IList <Usuario> usuarios = _repositoryUsuario.GetAll(u => u.Persona.Equals(persona));

            if (usuarios.Count == 0)
            {
                throw new ModelException("Existe la Persona pero no tiene credenciales de acceso");
            }

            if (usuarios.Count > 1)
            {
                throw new ModelException("Mas de un usuario encontrado");
            }

            Usuario usuario = usuarios.Single();

            if (!BCrypt.Net.BCrypt.Verify(password, usuario.Password))
            {
                throw new ModelException("Password no coincide");
            }

            return(usuario);
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        public Persona Find(string rutEmail)
        {
            Persona persona = _repositoryPersona.GetByRutOrEmail(rutEmail);

            if (persona == null)
            {
                throw new DataException("La persona no existe en la base de datos.");
            }
            return(persona);
        }
Exemplo n.º 3
0
        public void BuscarUsuario(string busqueda)
        {
            Persona usrBuscado;
            string  busq = TipoBusqueda(busqueda);

            if (busq.Equals("Rut") || busqueda.Equals("Email"))
            {
                if (busq.Equals("Rut"))
                {
                    usrBuscado = _repositoryPersona.GetByRut(busq);
                }
                if (busq.Equals("Email"))
                {
                    usrBuscado = _repositoryPersona.GetByRutOrEmail(busq);
                }
            }
            else
            {
                throw new ModelException("La busqueda de este tipo no es permitida");
            }
        }