none
Como fazer o C# parar a execução de um bloco após MessageBox RRS feed

  • Pergunta

  • Pessoal, estou implementando validações em uma função SalvarPessoaFisica() da camada BLL, mas estou com uma dúvida...

    São duas validações que preciso fazer:

    1 - O campo NomeCompleto não pode estar vazio e 2 - O campo NomeCompleto só pode conter 100 caracteres.

    Preciso fazer com que quando o usuário aperte o botão Salvar, ele valide e caso o campo NomeCompleto, por exemplo, estiver vazio, ele deverá exibir para o usuário um MessageBox e em seguida deverá parar a execução e aguardar que o usuário ratifique.

    Eu tentei usar o Return, só que dá erro pois já existe um return no final que retorna a matrícula do banco....

      public String Salvar(PessoaFisicaDTO pPessoaFisicaDTO)
            {
                
                if (String.IsNullOrEmpty(pPessoaFisicaDTO.NomeCompleto))
                {
                    MessageBox.Show("O Campo Nome Completo deve ser preenchido.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);               
                }
    
                if (pPessoaFisicaDTO.NomeCompleto.Length > 100)
                {
                    MessageBox.Show("O Campo Nome Completo deve conter no máximo 100 caracteres.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
    
                return _PessoaFisicaRepository.Salvar(pPessoaFisicaDTO);
            }

    Alguém sabe como ajudar???

    Grande abraço!

    quarta-feira, 9 de dezembro de 2015 15:02

Respostas

  • Boa tarde.

    O ideal seria fazer a validação fora do método:

    if (String.IsNullOrEmpty(pPessoaFisicaDTO.NomeCompleto))
                {
                    throw new Exception("O Campo Nome Completo deve ser preenchido.");               
                }

    E pegar este erro ao chamar o método, através de um try/catch (o catch chamaria o MessageBox).

    Porém sem precisar modificar muita coisa, isso deveria funcionar:

                if (String.IsNullOrEmpty(pPessoaFisicaDTO.NomeCompleto))
                {
                    MessageBox.Show("O Campo Nome Completo deve ser preenchido.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);   
    		return "";            
                }
    
                if (pPessoaFisicaDTO.NomeCompleto.Length > 100)
                {
                    MessageBox.Show("O Campo Nome Completo deve conter no máximo 100 caracteres.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    		return "";
                }
    
                return _PessoaFisicaRepository.Salvar(pPessoaFisicaDTO);

    Lembrando que assim uma validação será necessária ao chamar o método:

    if(!String.IsNullOrEmpty(obj.Salvar(parametro)))
    {
    // continua o código
    }

    Att., Rafael Simor

    • Marcado como Resposta JR-Master quinta-feira, 10 de dezembro de 2015 18:20
    quarta-feira, 9 de dezembro de 2015 16:25

Todas as Respostas

  • Boa tarde.

    O ideal seria fazer a validação fora do método:

    if (String.IsNullOrEmpty(pPessoaFisicaDTO.NomeCompleto))
                {
                    throw new Exception("O Campo Nome Completo deve ser preenchido.");               
                }

    E pegar este erro ao chamar o método, através de um try/catch (o catch chamaria o MessageBox).

    Porém sem precisar modificar muita coisa, isso deveria funcionar:

                if (String.IsNullOrEmpty(pPessoaFisicaDTO.NomeCompleto))
                {
                    MessageBox.Show("O Campo Nome Completo deve ser preenchido.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);   
    		return "";            
                }
    
                if (pPessoaFisicaDTO.NomeCompleto.Length > 100)
                {
                    MessageBox.Show("O Campo Nome Completo deve conter no máximo 100 caracteres.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    		return "";
                }
    
                return _PessoaFisicaRepository.Salvar(pPessoaFisicaDTO);

    Lembrando que assim uma validação será necessária ao chamar o método:

    if(!String.IsNullOrEmpty(obj.Salvar(parametro)))
    {
    // continua o código
    }

    Att., Rafael Simor

    • Marcado como Resposta JR-Master quinta-feira, 10 de dezembro de 2015 18:20
    quarta-feira, 9 de dezembro de 2015 16:25
  • Obg SimorC!!!
    quinta-feira, 10 de dezembro de 2015 18:20