package com.megatim.fdxconsultation.core.impl.message.systeme; import com.bekosoftware.genericdaolayer.dao.ifaces.GenericDAO; import com.bekosoftware.genericdaolayer.dao.tools.RestrictionsContainer; import com.bekosoftware.genericmanagerlayer.core.impl.AbstractGenericManager; import com.megatim.fdxconsultation.core.ifaces.message.systeme.MessageSystemeManager; import com.megatim.fdxconsultation.dao.ifaces.message.systeme.MessageSystemeDAO; import com.megatim.fdxconsultation.model.message.systeme.*; import com.megatim.fdxcommons.model.enumeration.*; import com.megatim.fdxconsultation.model.mappers.MapStructMapper; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.model.dto.MessageSystemeDto; import java.util.ArrayList; import java.util.List; import javax.enterprise.context.Dependent; import javax.inject.Inject; import javax.transaction.Transactional; @Transactional @Dependent public class MessageSystemeManagerImpl extends AbstractGenericManager implements MessageSystemeManager { @Inject protected MessageSystemeDAO dao; @Inject private MapStructMapper mapper; public MessageSystemeManagerImpl() { } @Override public GenericDAO getDao() { return dao; } @Override public String getEntityIdName() { return "id"; } @Override public void ajouter(TypeMessageSysteme typeMessageSysteme, TypeIdMessageSysteme typeIdMessageSysteme, String contenu, User utilisateur) { if(UserSesionApplication.siUtilisateurConnecte(utilisateur)){ dao.ajouter(typeMessageSysteme, typeIdMessageSysteme, contenu, utilisateur); } } @Override public List recupererTousLesMessages(User user) { //Variables List messages = dao.findByProperty("utilisateur", user); //Si null if(messages == null){ //On crée une instance messages = new ArrayList(); } return messages; } @Override public MessageSystemeDto recupererUnMessageSystemeDto(User user) { //Variables List messages = recupererTousLesMessages(user); MessageSystemeDto messageSystemeDto = null; MessageSysteme message = null; //Si null if(messages != null && !messages.isEmpty()){ //On recupère le message message = messages.get(0); //On recupère un message messageSystemeDto = mapper.messageSystemeToMessageSystemeDto(message); //On supprime le message delete(message.getId()); } return messageSystemeDto; } @Override public void supprimerTousLesMessageSystemeUtilisateur(User utilisateur) { //Variables List messages = recupererTousLesMessages(utilisateur); //Si non null if(messages != null){ //On parcourt les messages for(MessageSysteme message : messages){ //On supprime le message delete(message.getId()); } } } @Override public boolean siMessageTypeActionSystemeExiste(TypeActionSysteme typeActionSysteme, User utilisateur) { //Variables RestrictionsContainer requeteur = RestrictionsContainer.newInstance(); List messages = null; boolean bool = false; //On ajoute les critères de recherche requeteur.addEq("typeActionSysteme", typeActionSysteme); requeteur.addEq("utilisateur", utilisateur); //On execute la requete messages = filter(requeteur.getPredicats(), null, null, 0, 1); //Si non vide if(messages != null && !messages.isEmpty()){ bool = true; }else{ bool = false; } return bool; } }