Example #1
0
        public async Task UpdateAsync(int id, PessoaJuridicaRequestDto model)
        {
            var pessoa = await _repo.GetByIdAsync(id);

            if (pessoa == null)
            {
                throw new Exception($"Pessoa Física com o id {id} não encontrada");
            }

            pessoa.UpdateValues(
                model.Nome,
                model.Telefone,
                model.Endereco,
                model.Email,
                model.Cnpj,
                model.RazaoSocial,
                model.DataAbertura
                );

            var validationResult = await pessoa.Validate();

            if (!validationResult.IsValid)
            {
                var msg = "Ocorreu os seguintes erros:\r\n";

                foreach (var erro in validationResult.Errors)
                {
                    msg = $"{msg}- {erro.ErrorMessage}\r\n";
                }

                throw new Exception(msg);
            }

            await _repo.UpdateAsync(pessoa);
        }
Example #2
0
        public async Task <PessoaJuridicaResponseDto> CreateAsync(PessoaJuridicaRequestDto model)
        {
            var pessoa = new PessoaJuridica(
                model.Nome,
                model.Telefone,
                model.Endereco,
                model.Email,
                model.Cnpj,
                model.RazaoSocial,
                model.DataAbertura
                );

            var validationResult = await pessoa.Validate();

            if (!validationResult.IsValid)
            {
                var msg = "Ocorreu os seguintes erros:\r\n";

                foreach (var erro in validationResult.Errors)
                {
                    msg = $"{msg}- {erro.ErrorMessage}\r\n";
                }

                throw new Exception(msg);
            }

            await _repo.CreateAsync(pessoa);

            return(new PessoaJuridicaResponseDto
            {
                Id = pessoa.Id,
                Cnpj = pessoa.Cnpj,
                DataAbertura = pessoa.DataAbertura,
                Email = pessoa.Email,
                Endereco = pessoa.Endereco,
                Nome = pessoa.Nome,
                RazaoSocial = pessoa.RazaoSocial,
                Telefone = pessoa.Telefone
            });
        }
Example #3
0
 public async Task Put(int id, [FromBody] PessoaJuridicaRequestDto model)
 {
     await svc.UpdateAsync(id, model);
 }
Example #4
0
        public async Task <PessoaJuridicaResponseDto> Post([FromBody] PessoaJuridicaRequestDto model)
        {
            var pessoa = await svc.CreateAsync(model);

            return(pessoa);
        }