Kenmegne
7 days ago 23a46b4be35277e06ec89f48730eeb694e686be8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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;
    }
    
}