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 }); }