Esempio n. 1
0
        public async Task <int> AddAsync(Pessoa pessoa, Carro carro)
        {
            if (pessoa == null)
            {
                throw new ArgumentNullException("Não é possível cadastrar sem Pessoa");
            }

            if (string.IsNullOrWhiteSpace(pessoa.Nome) || pessoa.Nome.Length < 4)
            {
                throw new ArgumentException("Nome da pessoa inválido");
            }

            var pessoaAddTask = _pessoaRepository.AddAsync(pessoa);

            if (carro == null)
            {
                var id = await pessoaAddTask;
                return(id);
            }

            carro.PessoaId = await pessoaAddTask;
            var carroAddTask = await _carroService.AddAsync(carro);

            return(carro.PessoaId);
        }
Esempio n. 2
0
        public async Task <IActionResult> Post([FromBody] Core.Models.Pessoa pessoa)
        {
            try {
                var pessoaPersistida = await _pessoaRepository.AddAsync(pessoa);

                return(Ok(_mapper.Map <PessoaViewModel>(pessoaPersistida)));
            }
            catch (Exception ex) {
                return(BadRequest(ex));
            }
        }
        public async Task HandleAsync(CriarPessoaCommand command)
        {
            var pessoaExistentePorCpf = await _pessoaRepository.ObterPorCpfAsync(command.Cpf);

            if (pessoaExistentePorCpf != null)
            {
                throw new PessoaJaExistenteParaCpfException(pessoaExistentePorCpf.Nome, pessoaExistentePorCpf.Cpf);
            }

            var pessoa = new Pessoa
            {
                EntityId    = command.EntityId,
                Nome        = command.Nome,
                DataCriacao = command.DataCriacao,
                Cpf         = command.Cpf
            };

            await _pessoaRepository.AddAsync(pessoa);
        }