Usuário com melhor resposta
Como fazer o C# parar a execução de um bloco após MessageBox

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!
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
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
-