View Javadoc

1   /*
2    * Created on 29/10/2004
3    */
4   package ecar.dao;
5   
6   import javax.servlet.http.HttpServletRequest;
7   
8   import comum.database.Dao;
9   
10  import ecar.exception.ECARException;
11  import ecar.pojo.PeriodicidadePrdc;
12  
13  /**
14   * @author evandro
15   */
16  public class PeriodicidadeDao extends Dao {
17  
18    /**
19     * Construtor. Chama o Session factory do Hibernate
20     */
21    public PeriodicidadeDao(HttpServletRequest request) {
22      super();
23      this.request = request;
24    }
25  
26    /**
27     * Verifica depois exclui
28     * @param periodicidade
29     * @throws ECARException
30     */
31    public void excluir(PeriodicidadePrdc periodicidade) throws ECARException {
32      try {
33        boolean excluir = true;
34        if (contar(periodicidade.getConfiguracaoCfgs()) > 0) {
35          excluir = false;
36          throw new ECARException("periodicidade.exclusao.erro.configuracaoCfgs");
37        }
38        if (contar(periodicidade.getItemEstruturaIetts()) > 0) {
39          excluir = false;
40          throw new ECARException("periodicidade.exclusao.erro.itemEstruturaIetts");
41        }
42  
43        if (excluir)
44          super.excluir(periodicidade);
45      } catch (ECARException e) {
46        this.logger.error(e);
47        throw e;
48      }
49    }
50  
51    /**
52     * Verifica depois salva
53     * @param periodicidade
54     * @throws ECARException
55     */
56    public void salvar(PeriodicidadePrdc periodicidade) throws ECARException {
57      if (pesquisarDuplos(periodicidade, new String[] { "descricaoPrdc", "numMesesPrdc" }, "codPrdc").size() > 0)
58        throw new ECARException("periodicidade.validacao.registroDuplicado");
59      super.salvar(periodicidade);
60    }
61  
62    /**
63     * Verifica depois altera
64     * @param periodicidade
65     * @throws ECARException
66     */
67    public void alterar(PeriodicidadePrdc periodicidade) throws ECARException {
68      if (pesquisarDuplos(periodicidade, new String[] { "descricaoPrdc", "numMesesPrdc" }, "codPrdc").size() > 0)
69        throw new ECARException("periodicidade.validacao.registroDuplicado");
70      super.alterar(periodicidade);
71    }
72  }