package dst.ass1.jpa.dao.impl;

import dst.ass1.jpa.dao.IParticipantDAO;
import dst.ass1.jpa.model.IParticipant;
import dst.ass1.jpa.model.impl.Participant;
import dst.ass1.jpa.util.Constants;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;


public class ParticipantDAO extends GenericDAO<Participant, IParticipant> implements IParticipantDAO {
    public ParticipantDAO(EntityManager em) {
        super(em, Participant.class);
    }

    @Override
    public IParticipant findByEmail(String email) {
        try {
            return em.createNamedQuery(Constants.Q_PARTICIPANT_BY_EMAIL, Participant.class)
                    .setParameter("email", email).getSingleResult();
        } catch (NoResultException e) {
            return null;
        }
    }
}