public async Task UpdateAsync(int id, PessoaFisicaRequestDto 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.Cpf,
                model.GeneroId,
                model.DataNascimento
                );

            var validationResult = await pessoa.Validate();

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

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

                throw new Exception(msg);
            }

            await _repo.UpdateAsync(pessoa);
        }