package fi.otavanopisto.pyramus.dao.resources;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import fi.otavanopisto.pyramus.dao.PyramusEntityDAO;
import fi.otavanopisto.pyramus.domainmodel.resources.MaterialResource;
import fi.otavanopisto.pyramus.domainmodel.resources.ResourceCategory;
import fi.otavanopisto.pyramus.persistence.usertypes.MonetaryAmount;
@Stateless
public class MaterialResourceDAO extends PyramusEntityDAO<MaterialResource> {
public MaterialResource create(String name, ResourceCategory category, Double unitCost) {
EntityManager entityManager = getEntityManager();
MaterialResource materialResource = new MaterialResource();
materialResource.setName(name);
if (unitCost != null) {
MonetaryAmount monetaryAmount = new MonetaryAmount();
monetaryAmount.setAmount(unitCost);
materialResource.setUnitCost(monetaryAmount);
}
materialResource.setCategory(category);
entityManager.persist(materialResource);
return materialResource;
}
public MaterialResource update(MaterialResource materialResource, String name,
ResourceCategory category, Double unitCost) {
EntityManager entityManager = getEntityManager();
materialResource.setName(name);
materialResource.setCategory(category);
if (unitCost != null) {
MonetaryAmount monetaryAmount = new MonetaryAmount();
monetaryAmount.setAmount(unitCost);
materialResource.setUnitCost(monetaryAmount);
}
entityManager.persist(materialResource);
return materialResource;
}
}