View Javadoc

1   /*
2    * Created on 11/05/2005
3    */
4   package ecar.dao;
5   
6   import java.util.List;
7   
8   import javax.servlet.http.HttpServletRequest;
9   
10  import comum.database.Dao;
11  import comum.util.Data;
12  import comum.util.Pagina;
13  
14  import ecar.exception.ECARException;
15  import ecar.pojo.ContatoAreaCtta;
16  
17  /**
18   * @author felipe
19   */
20  public class ContatoAreaDao extends Dao {
21  
22    public ContatoAreaDao(HttpServletRequest request) {
23      super();
24      this.request = request;
25    }
26  
27    public void salvar(ContatoAreaCtta contato) throws ECARException {
28      contato.setDataInclusaoCtta(Data.getDataAtual());
29      super.salvar(contato);
30    }
31  
32    /**
33     * A partir de dados passados por request popula um objeto Contato Area
34     * @param contato
35     * @param campos
36     * @param recuperarParametrosComoString indica se irá recuperar dados nulos
37     *          como String vazia
38     * @throws ECARException
39     */
40    public void setContatoArea(ContatoAreaCtta contato, HttpServletRequest request, boolean recuperarParametrosComoString) throws ECARException {
41  
42      try {
43        if (recuperarParametrosComoString) {
44          contato.setNomeCtta(Pagina.getParamStr(request, "nomeCtta"));
45          contato.setAssuntoRetornoCtta(Pagina.getParamStr(request, "assuntoRetornoCtta"));
46          contato.setTextoRetornoCtta(Pagina.getParamStr(request, "textoRetornoCtta"));
47          contato.setIndEmailRespostaCtta(Pagina.getParamStr(request, "indEmailRespostaCtta"));
48          contato.setIndLogadoCtta(Pagina.getParamStr(request, "indLogadoCtta"));
49          contato.setIndAtivoCtta(Pagina.getParamStr(request, "indAtivoCtta"));
50        }
51        else {
52          contato.setNomeCtta(Pagina.getParam(request, "nomeCtta"));
53          contato.setAssuntoRetornoCtta(Pagina.getParam(request, "assuntoRetornoCtta"));
54          contato.setTextoRetornoCtta(Pagina.getParam(request, "textoRetornoCtta"));
55          contato.setIndEmailRespostaCtta(Pagina.getParam(request, "indEmailRespostaCtta"));
56          contato.setIndLogadoCtta(Pagina.getParam(request, "indLogadoCtta"));
57          contato.setIndAtivoCtta(Pagina.getParamStr(request, "indAtivoCtta"));
58        }
59      } catch (Exception e) {
60        this.logger.error(e);
61        throw new ECARException(e);
62      }
63  
64    }
65  
66    /**
67     * Exclui uma área de contato, verificando antes se ela possui relação com
68     * outras tabelas. Neste caso, não permite exclusão
69     * @param area
70     * @throws ECARException
71     */
72    public void excluir(ContatoAreaCtta contato) throws ECARException {
73      try {
74        boolean excluir = true;
75  
76        if (contar(contato.getContatoMailCttms()) > 0) {
77          excluir = false;
78          throw new ECARException("contatoArea.exclusao.erro.contatoMailCttms");
79        }
80        if (excluir)
81          super.excluir(contato);
82      } catch (ECARException e) {
83        this.logger.error(e);
84        throw e;
85      }
86    }
87  
88    /**
89     * Devolve uma lista com as áreas de contato ativas
90     * @author n/c
91     * @return list
92     */
93    public List getContatoAreaAtivas() throws ECARException {
94  
95      ContatoAreaCtta contato = new ContatoAreaCtta();
96  
97      contato.setIndAtivoCtta("S");
98  
99      return this.pesquisar(contato, null);
100 
101   }
102 
103 }