Exemplo n.º 1
0
        public async Task<AlunoTurma> MatricularAlunoEmTurma(string turmaId, string AlunoId)
        {
            var turma = await TurmasService.GetTurma(turmaId);
            if(turma.NumeroDeAlunos >= turma.Vagas)
            {
                throw new TurmaSemVagaException("Turma não qualificada para receber novos alunos, todas as vagas já foram preenchidas");
            }

            var aluno = await AlunosService.GetAlunoById(AlunoId);

            var alunoTurma = await AlunoTurmaService.SaveAlunoTurma(turma.Id, aluno.Id);
            turma.NumeroDeAlunos += 1;
            await TurmasService.UpdateTurma(turma);

            return alunoTurma;
            
        }