public void Adicionar(Usuario usuario) { if (usuario.EhInvalido()) { throw new ValidadorException(validationFailures: usuario.ListarErros()); } var usuarioNoContexto = _usuarioRepositorio.BuscarPorLogin(usuario.Login); if (usuarioNoContexto != null) { throw new ValidadorException( message: UsuarioRegras.UsuarioJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } var pessoaNoContexto = _pessoaRepositorio.BuscarPorEmail(usuario.DadosPessoais.EmailOpcao1); if (pessoaNoContexto != null) { throw new ValidadorException( message: PessoaRegras.EmailJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } pessoaNoContexto = _pessoaRepositorio.BuscarPorEmail(usuario.DadosPessoais.EmailOpcao2); if (pessoaNoContexto != null) { throw new ValidadorException( message: PessoaRegras.EmailJaCadastrado.Descricao, mostrarParaUsuario: true, ehSomenteAlerta: true); } _usuarioRepositorio.Adicionar(usuario); _pessoaRepositorio.Adicionar(usuario.DadosPessoais); }