/// <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); }
/// <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); }
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"); } }