package banco.DAO;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.persistence.Query;
import banco.connection.EclipseLinkConnection;
import banco.modelo.DuplicataPaga;
import banco.utils.DuplicataPagaUtils;
public class DuplicataPagaDAO extends EclipseLinkConnection implements DuplicataPagaUtils{
@Override
public void saveOrUpdate(DuplicataPaga modelo) {
if(modelo.getId() != null)
merge(modelo);
else
persist(modelo);
}
@Override
public void delete(DuplicataPaga modelo) {
remove(modelo);
}
@Override
public DuplicataPaga find(Long id) {
Query q = getEntityManager().createQuery("select d from DuplicataPaga d where d.id = :id");
q.setParameter("id", id);
return (DuplicataPaga)q.getSingleResult();
}
@SuppressWarnings("unchecked")
@Override
public List<DuplicataPaga> findAll() {
Query q = getEntityManager().createQuery("select d from DuplicataPaga d");
return q.getResultList();
}
@SuppressWarnings("unchecked")
@Override
public List<DuplicataPaga> findAllByPeriodo(Date dtInicial, Date dtFinal) {
Calendar c = Calendar.getInstance();
c.setTime(dtFinal);
c.set(Calendar.HOUR, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
dtFinal = c.getTime();
Query q = getEntityManager().createQuery("select d from DuplicataPaga d where d.dataPagamento between :dtInicial and :dtFinal");
q.setParameter("dtInicial", dtInicial)
.setParameter("dtFinal", dtFinal);
return q.getResultList();
}
}