package com.megatim.fdxconsultation.core.impl.favoritessearch; import com.bekosoftware.genericdaolayer.dao.ifaces.GenericDAO; import com.bekosoftware.genericmanagerlayer.core.impl.AbstractGenericManager; import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView; import com.megatim.fdxconsultation.core.ifaces.favoritessearch.FavoriteSearchManager; import com.megatim.fdxconsultation.core.ifaces.stats.CriteriaEntityPersistedManager; import com.megatim.fdxconsultation.dao.ifaces.abstracts.PaginationWithCriteriaEntityDAO; import com.megatim.fdxconsultation.dao.ifaces.favoritessearch.FavoriteSearchDAO; import com.megatim.fdxconsultation.dao.impl.utils.BaseEntityUtil; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.model.dto.FavoriteSearchDto; import com.megatim.fdxconsultation.model.favoritessearch.FavoriteSearch; import java.util.List; import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.transaction.Transactional; /** * * @author Gabuntu */ @Dependent public class FavoriteSearchManagerImpl extends AbstractGenericManager implements FavoriteSearchManager { @Inject private FavoriteSearchDAO dao; @Inject private CriteriaEntityPersistedManager criteriaEntityPersistedManager; @Override public GenericDAO getDao() { return dao; } @Override public String getEntityIdName() { return "id"; } @Transactional @Override public void add(FavoriteSearchDto favoriteSearchRequest, User connectedUser) { String codeTypeFichier = favoriteSearchRequest.getCodeTypeFichier(); String referentielVersion = favoriteSearchRequest.getReferentielVersion(); CriteriaEntityFromView criteria = favoriteSearchRequest.getCriteria(); FavoriteSearch favoriteSearch = new FavoriteSearch(); favoriteSearch.setUserName(connectedUser.getUserName()); favoriteSearch.setLibelle(favoriteSearchRequest.getLibelle()); favoriteSearch.setCodeTypeFichier(codeTypeFichier); favoriteSearch.setReferentielVersion(referentielVersion); favoriteSearch.setCriteria(criteriaEntityPersistedManager.constructCriteriaPersisted(codeTypeFichier, referentielVersion, criteria)); BaseEntityUtil.setBaseEntityFieldsForAdd(favoriteSearch, connectedUser); dao.save(favoriteSearch); } @Override public List all(String userName) { return dao.all(userName); } @Override public PaginationWithCriteriaEntityDAO paginationWithCriteriaEntityDAO() { return dao; } }