package fi.otavanopisto.pyramus.dao.base; import javax.ejb.Stateless; import javax.persistence.EntityManager; import fi.otavanopisto.pyramus.dao.PyramusEntityDAO; import fi.otavanopisto.pyramus.domainmodel.base.ContactInfo; import fi.otavanopisto.pyramus.domainmodel.base.ContactType; import fi.otavanopisto.pyramus.domainmodel.base.PhoneNumber; @Stateless public class PhoneNumberDAO extends PyramusEntityDAO<PhoneNumber> { public PhoneNumber create(ContactInfo contactInfo, ContactType contactType, Boolean defaultNumber, String number) { EntityManager entityManager = getEntityManager(); PhoneNumber phoneNumber = new PhoneNumber(); phoneNumber.setContactInfo(contactInfo); phoneNumber.setContactType(contactType); phoneNumber.setDefaultNumber(defaultNumber); phoneNumber.setNumber(number); entityManager.persist(phoneNumber); contactInfo.addPhoneNumber(phoneNumber); entityManager.persist(contactInfo); return phoneNumber; } public PhoneNumber update(PhoneNumber phoneNumber, ContactType contactType, Boolean defaultNumber, String number) { EntityManager entityManager = getEntityManager(); phoneNumber.setContactType(contactType); phoneNumber.setDefaultNumber(defaultNumber); phoneNumber.setNumber(number); entityManager.persist(phoneNumber); return phoneNumber; } @Override public void delete(PhoneNumber phoneNumber) { if (phoneNumber.getContactInfo() != null) { phoneNumber.getContactInfo().removePhoneNumber(phoneNumber); } super.delete(phoneNumber); } }