
package negocio;

import datos.PersonasDATOS;
import encapsuladores.Deportista;
import encapsuladores.Persona;
import excepciones.GenericaExcepcion;
import java.util.List;

public class Personas {
   // lanzar tres excepciones:  dos vinculadas a la autenticacion y otras cuando se intenta con el perfil de deportista introducir Persona
    // y visualizar personas
    public void introducir(List<Persona> listaPersonas, Persona persona) throws GenericaExcepcion {
        if (persona.getResponsable() instanceof Deportista)
            throw new GenericaExcepcion(-50);
        
        new PersonasDATOS().introducir(listaPersonas, persona);       
    }
    
    public Persona autenticar(List<Persona> listaPersonas, Persona persona) throws GenericaExcepcion {
        
        Persona personaEncontrada = new PersonasDATOS().buscar(listaPersonas, persona);  
     
        if (personaEncontrada == null)
            throw new GenericaExcepcion(-52);
     
        if (personaEncontrada.getPassword().compareTo(persona.getPassword()) != 0)
            throw new GenericaExcepcion(-53);      
         
        return personaEncontrada;
    }  
    
    public List<Persona> visualizarPersonas(List<Persona> listaPersonas, Persona personaAutenticada) throws GenericaExcepcion {
        
        if (personaAutenticada instanceof Deportista)
            throw new GenericaExcepcion(-50);  
        
        List<Persona> listaPersonasACargo = new PersonasDATOS().visualizarPersonas(listaPersonas, personaAutenticada);
        
        return listaPersonasACargo; 
    }
}
