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<MessageSysteme, Long> implements MessageSystemeManager {
|
|
@Inject
|
protected MessageSystemeDAO dao;
|
|
@Inject
|
private MapStructMapper mapper;
|
|
public MessageSystemeManagerImpl() {
|
}
|
|
@Override
|
public GenericDAO<MessageSysteme, Long> 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<MessageSysteme> recupererTousLesMessages(User user) {
|
|
//Variables
|
List<MessageSysteme> messages = dao.findByProperty("utilisateur", user);
|
|
//Si null
|
if(messages == null){
|
|
//On crée une instance
|
messages = new ArrayList<MessageSysteme>();
|
|
}
|
|
return messages;
|
}
|
|
@Override
|
public MessageSystemeDto recupererUnMessageSystemeDto(User user) {
|
|
//Variables
|
List<MessageSysteme> 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<MessageSysteme> 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<MessageSysteme> 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;
|
}
|
|
}
|