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.Idioma;

public class IdiomaRepository {

  private EntityManager em;

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

  public List<Idioma> getAll() {
    TypedQuery<Idioma> query = em.createQuery("SELECT i FROM Idioma i", Idioma.class);

    List<Idioma> idiomas = query.getResultList();
    return idiomas;
  }

  public void save(Idioma idioma) {
    em.getTransaction().begin();
    em.persist(idioma);
    em.getTransaction().commit();
  }

  public void update(Idioma idioma) {
    em.getTransaction().begin();
    em.merge(idioma);
    em.getTransaction().commit();
  }

  public void delete(Idioma idioma) {
    em.getTransaction().begin();
    em.remove(idioma);
    em.getTransaction().commit();
  }

}
