none
Regras de negócio - Dúvidas RRS feed

  • Pergunta

  • Bom dia pessoal. 

    Estou fazendo uma aplicação em camadas e uma delas contém regras de negócios. Detalhando:

    - Tenho classe (Regra de negócio) chamada País e dentro dela tenho 4 métodos: Inserir(), Alterar(), Excluir() e Pesquisar().

    Ao inserir ou alterar um registro no banco, preciso validar duas coisas: Se o campo Sigla possui apenas 3 caracteres, e o campo NomePaís não esteja vazio.

    Dúvida:

    Na mesma classe da regras de negócio Pais, devo criar dois métodos para essas validações ou devo colocá-las dentro dos métodos Inserir(), Alterar()?

    O que seria mais correto?

    Desculpem a simplicidade da pergunta. É que sou iniciante e gostaria de aprender da forma mais correta possível.

    Grande abraço.

    quinta-feira, 16 de julho de 2015 12:29

Respostas

  • Jalber,

    você pode criar seus validadores na sua classe de negócio, assim a regra de validação fica em apenas 1 lugar.

    Porém é muito importante que você dê retorno ao usuário. Então ao chamar o Inserir por exemplo.

    Na sua tela você chama objNegocioPais.Inserir();

    Você precisa retornar ao usuário alguma excessão de regra de validação.

    Se vc estiver num Click de Botão, vc pode colocar algo assim:

    try { Pais objPais = new Pais(); NegocioPais objNegocioPais = new NegocioPais();

    objNegocioPais.Inserir(objPais); } catch(Exception ex) { // Exibir o conteudo de "ex.Message" }

     

    Já no seu método Inserir() você faz o seguitne:

    public classe NegocioPais {
      public void Inserir(Pais objPais) {
        Validacao(objPais);
      }
    
      public void Validacao(objPais) {
        if (objPais.Nome.Length == 0) {
          throw new Exception ("Preencha o nome");
        }
      }
    }



    Att, Lucio Rogerio


    Espero ter ajudado, se ajudei, por favor "Vote como Útil", e se resolvi seu problema, clique em "Propor como Resposta".

    • Marcado como Resposta Jalber Romano quinta-feira, 16 de julho de 2015 17:09
    quinta-feira, 16 de julho de 2015 12:58