package com.megatim.apifdxweb.dao.impl.audit; import com.megatim.apifdxweb.model.audit.AuditActionsParticipant; import java.util.List; import java.util.Optional; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author ASUS */ @Stateless public class AuditActionsParticipantRepository { @PersistenceContext(name = "fdxPU") EntityManager em; public Optional findByParticipantDemandeurAndTypeFichierConsulte(String connectedParticipant, String typeFichierConsulte) { Query query = em.createQuery("SELECT a FROM AuditActionsParticipant a WHERE a.participantDemandeur = :participantDemandeur" + " AND a.typeFichierConsulte = :typeFichierConsulte"); query.setParameter("participantDemandeur", connectedParticipant); query.setParameter("typeFichierConsulte", typeFichierConsulte); List liste = (List) query.getResultList(); return liste.stream().findFirst(); } public void save(AuditActionsParticipant auditActionsParticipant) { em.persist(auditActionsParticipant); } public void update(AuditActionsParticipant auditActionsParticipant) { em.merge(auditActionsParticipant); } public AuditActionsParticipant lastAudit(String codeParticipant, String codeTypeFichier) { Optional optAudit = findByParticipantDemandeurAndTypeFichierConsulte(codeParticipant, codeTypeFichier); if (optAudit.isPresent()) { return optAudit.get(); } else { return null; } } }