View Javadoc

1   /*
2    * Created on 11/07/2005
3    *
4    */
5   package ecar.portal;
6   
7   import java.util.Collections;
8   import java.util.Comparator;
9   import java.util.List;
10  
11  import javax.servlet.http.HttpServletRequest;
12  
13  import ecar.dao.ContatoAreaDao;
14  import ecar.dao.ContatoMailDao;
15  import ecar.exception.ECARException;
16  import ecar.pojo.ContatoAreaCtta;
17  import ecar.pojo.ContatoMailCttm;
18  
19  /**
20   * @author cristiano
21   *
22   * Classe que carrega informações para serem exibidas na tela contato do portal 
23   * 
24   */
25  
26  public class CapaContato extends Portal {
27  	
28  	//private static final String ID_SECAO_SUPER_DESTAQUE = "SECAO_SUPER_DESTAQUE"; 
29  	//private static final String ID_SECAO_MAIS_ARTIGOS = "SECAO_MAIS_ARTIGOS"; 
30  	//private static final String ID_SECAO_AGENDA = "SECAO_AGENDA"; 
31  	//private static final String ID_SECAO_TAXACAO_CLIP = "SECAO_TAXACAO_CLIP"; 
32  
33  	// DAOs acessados pela classe
34  	private ContatoAreaDao contatoAreaDao = null;
35  	
36  	private List listAreasContato;
37  	
38  	private String areaContatoSelecionada = "";
39  
40  	/**
41       * Construtor.<br>
42       * 
43       * @author N/C
44       * @since N/C
45       * @version N/C
46       * @param HttpServletRequest request
47       * @throws ECARException
48       */
49  	public CapaContato(HttpServletRequest request) throws ECARException {
50  		super(request);
51  
52  		this.contatoAreaDao= new ContatoAreaDao(null);
53  		
54  		this.carregarComboAreaContato();
55  		
56  		//this.carregarSuperDestaqueArtigos();
57  		//this.carregarMaisArtigos();
58  		//this.carregarAgenda();
59  		//this.carregarTaxacaoClip();
60  		//this.carregarAreaSubAreaDestaque();
61  	}
62      
63      
64      /**
65       * Método para retornar o DAO da tabela ContatoAreaDao.<br>
66       * 
67       * @author N/C
68       * @since N/C
69       * @version N/C
70       * @return ContatoAreaDao
71       */
72  	private ContatoAreaDao getContatoAreaDao() {
73  		return this.contatoAreaDao;
74  	}
75  
76      /**
77       * Método para popular combo área contato.<br>
78       * 
79       * @author N/C
80       * @since N/C
81       * @version N/C
82       * @throws ECARException
83       */
84  	private void carregarComboAreaContato() throws ECARException {
85  		
86  		this.setListAreasContato(this.getContatoAreaDao().getContatoAreaAtivas());
87  		
88  	}
89  
90      /**
91       * Envia e-mail.<br>
92       * 
93       * @author N/C
94       * @since N/C
95       * @version N/C
96       * @param HttpServletRequest request
97       * @param Long codCtta
98       * @param String remetente
99       * @param String msg
100      * @throws Exception
101      */
102 	public void enviarEmail(HttpServletRequest request, Long codCtta, String remetente, String msg) throws Exception {
103 		String assunto = "", destinatarioPara = "", destinatarioCc = "", destinatarioBcc = "";
104 		
105 		ContatoAreaCtta contatoAreaCtta = new ContatoAreaCtta();
106 		ContatoMailCttm contatoMailCttm = new ContatoMailCttm();
107 		ContatoAreaDao contatoAreaDao = new ContatoAreaDao(request);
108 		ContatoMailDao contatoMailDao = new ContatoMailDao(request);
109 		
110 		contatoAreaCtta = (ContatoAreaCtta)contatoAreaDao.buscar(ContatoAreaCtta.class, codCtta);
111 		
112 		request.setAttribute("contatoAreaCtta", codCtta);
113 		contatoMailDao.setContatoMail(contatoMailCttm, request, false);
114 				
115 		ContatoAreaCtta ctta = new ContatoAreaCtta();
116 		ctta.setCodCtta(codCtta);
117 		List list = contatoMailDao.getListContatoMailCttm(ctta);
118 		
119 		for (int i = 0; i < list.size(); i++) {			
120 			ContatoMailCttm cttm = (ContatoMailCttm) list.get(i);
121 			
122 			if (cttm.getContatoMailCategoriaCttm().getCodCttmc().intValue() == 1)	destinatarioPara += cttm.getEmailCttm() + ",";	
123 			if (cttm.getContatoMailCategoriaCttm().getCodCttmc().intValue() == 2)	destinatarioCc += cttm.getEmailCttm() + ",";	
124 			if (cttm.getContatoMailCategoriaCttm().getCodCttmc().intValue() == 3)	destinatarioBcc += cttm.getEmailCttm() + ",";			
125 		}
126 				
127 		
128 		if (contatoAreaCtta.getAssuntoRetornoCtta()!=null) assunto = contatoAreaCtta.getAssuntoRetornoCtta();
129 			
130 		comum.util.Util.enviarEmail(assunto, null, remetente, msg, destinatarioPara, destinatarioCc, destinatarioBcc, null);
131 		
132 		if ((contatoAreaCtta.getIndEmailRespostaCtta()!=null)&&("S".equals(contatoAreaCtta.getIndEmailRespostaCtta())))	{
133 			destinatarioPara = remetente;	
134 			
135 			comum.util.Util.enviarEmail(assunto, contatoAreaCtta.getNomeCtta(), remetente, contatoAreaCtta.getTextoRetornoCtta(), 
136 					destinatarioPara, null, null, null);			
137 		}		
138 	}
139 
140 	/**
141 	 * Retorna List listAreasContato.<br>
142 	 * 
143 	 * @author N/C
144      * @since N/C
145      * @version N/C
146 	 * @return List
147 	 */
148 	public List getListAreasContato() {
149 		return listAreasContato;
150 	}
151 
152 	/**
153 	 * Atribui valor especificado para List listAreasContato.<br>
154 	 * 
155 	 * @author N/C
156      * @since N/C
157      * @version N/C
158 	 * @param List listAreasContato
159 	 */
160 	private void setListAreasContato(List listAreasContato) {
161 		this.listAreasContato = listAreasContato;
162 	}
163 
164 	/**
165 	 * Retorna String areaContatoSelecionada.<br>
166 	 * 
167 	 * @author N/C
168      * @since N/C
169      * @version N/C
170 	 * @return String
171 	 */
172 	public String getAreaContatoSelecionada() {
173 		return areaContatoSelecionada;
174 	}
175 
176 
177 	/**
178 	 * Atribui valor especificado para String areaContatoSelecionada.<br>
179 	 * 
180 	 * @author N/C
181      * @since N/C
182      * @version N/C
183 	 * @param String areaContatoSelecionada
184 	 */
185 	public void setAreaContatoSelecionada(String areaContatoSelecionada) {
186 		this.areaContatoSelecionada = areaContatoSelecionada;
187 	}
188 
189 	/**
190 	 * Retorna lista ordenada pelo nome.<br>
191 	 * 
192 	 * @author N/C
193      * @since N/C
194      * @version N/C
195 	 * @return List
196 	 */
197 	public List getListAreasContatoOrdenada() {
198 		Collections.sort(listAreasContato,
199 	            new Comparator() {
200 		    		public int compare(Object o1, Object o2) {
201 		    			ContatoAreaCtta c1 = (ContatoAreaCtta) o1;
202 		    			ContatoAreaCtta c2 = (ContatoAreaCtta) o2;
203 		    		    return c1.getNomeCtta().compareTo(c2.getNomeCtta());
204 		    		}
205 		} );			
206 		return listAreasContato;
207 	}
208 }