public async Task MatricularAsync(Guid alunoId, Guid pessoaFisicaId, Guid responsavelId, Guid escolaId, Guid salaId) { var pessoaFisica = await _pessoaFisicaRepository.GetByEntityIdAsync(pessoaFisicaId); if (pessoaFisica == null) { throw new PessoaFisicaNaoEncontradaException(); } var responsavel = await _pessoaFisicaRepository.GetByEntityIdAsync(responsavelId); if (responsavel == null) { throw new ResponsavelNaoEncontradoException(); } var escola = await _escolaRepository.GetByEntityIdAsync(escolaId); if (escola == null) { throw new EscolaNaoEncontradaException(); } var matricula = await _matriculaService.GerarMatriculaAsync(); var aluno = new Aluno(alunoId, pessoaFisica, responsavel, matricula); escola.AdicionarAluno(salaId, aluno); await _alunoRepository.AddAsync(aluno); }
public async Task AlterarCpfAsync(Guid id, string cpf) { var pessoaFisica = await _pessoasFisicaRepository.GetByEntityIdAsync(id); var pessoaComCpfASerAlterado = await _pessoasFisicaRepository.ObterPorCpfAsync(cpf); if (pessoaComCpfASerAlterado != null) { throw new PessoaFisicaCpfJaExistenteException(); } pessoaFisica.AlterarCpf(cpf); }