コード例 #1
0
        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);
        }