package xyz.danielcortes.repository;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import xyz.danielcortes.framework.PersistenceManager;
import xyz.danielcortes.models.Categoria;

public class CategoriaRepository {
  private EntityManager em;

  public CategoriaRepository() {
    this.em = PersistenceManager.getEntityManager();
  }

  public List<Categoria> getAll() {
    TypedQuery<Categoria> query = em.createQuery("SELECT c from Categoria  c", Categoria.class);
    return query.getResultList();
  }

  public void save(Categoria categoria) {
    em.getTransaction().begin();
    em.persist(categoria);
    em.getTransaction().commit();
  }

  public void update(Categoria categoria) {
    em.getTransaction().begin();
    em.merge(categoria);
    em.getTransaction().commit();
  }
  public void delete(Categoria categoria) {
    em.getTransaction().begin();
    em.remove(categoria);
    em.getTransaction().commit();
  }
}
