Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }