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<FavoriteSearch, Long> implements FavoriteSearchManager {
|
|
@Inject
|
private FavoriteSearchDAO dao;
|
|
@Inject
|
private CriteriaEntityPersistedManager criteriaEntityPersistedManager;
|
|
@Override
|
public GenericDAO<FavoriteSearch, Long> 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<FavoriteSearch> all(String userName) {
|
return dao.all(userName);
|
}
|
|
@Override
|
public PaginationWithCriteriaEntityDAO<FavoriteSearch, Long> paginationWithCriteriaEntityDAO() {
|
return dao;
|
}
|
|
}
|