Dúvida primária com if

12/07/2013

Tenho esse if no meu sistema

if (
string.IsNullOrEmpty(viewModel.TxtCpf) ||
string.IsNullOrEmpty(viewModel.TxtMail) ||
string.IsNullOrEmpty(viewModel.TxtNome) ||
string.IsNullOrEmpty(viewModel.TxtNomeMae) ||
string.IsNullOrEmpty(viewModel.TxtDataNascimento.HasValue ? viewModel.TxtDataNascimento.Value.ToString() : "")
)
{
viewModel.MensagemErro = "ErroConsultaCadastro";
return View(viewModel);
}
Acontece que eu preciso validar esse IF, ou o mesmo IF sem a primeira linha(sem o primeiro string.Empty) e depois sem o primeiro e segundo. Que dúvida, só então após essas validações, é que chamo a mensagem.

Pjava

Respostas

12/07/2013

Rodrigo Odasaki

Não pode colocar um if dentro do outro?..
Não entendi direito.
Responder Citar

12/07/2013

Fabiovianna

faz o seguinte.... passa os valores com null ou não e na hora de fazer o select vc valida...

por exemplo eu fiz assim com LINQ... caso queira adapte para o seu codigo... segue abaixo

var dados = (from x in dto
                        where x.Nome.ToLower().Contains(txtNome.Text.ToLower())
                              && (string.IsNullOrEmpty(ddlDepartamento.SelectedValue) || x.Departamento.First().idDepartamento == Convert.ToInt32(ddlDepartamento.SelectedValue))
                        select x;


espero ter ajudado,

abs.
Responder Citar

14/07/2013

Pjava

Já resolvi isso. Estava usando a lógica errada. Usava lógica OR quando deveria usar lógica AND.
Responder Citar