public Inscricao RealizarInscricao(Turma turma, Inscricao.ETipoPagamento tipoPagamento)
        {
            turma.AceitaInscricao(this);

            var inscricao = Inscricao.Criar(this, turma, tipoPagamento);

            _inscricoes.Add(inscricao);

            _dividas.AddRange(inscricao.GerarDividas());

            turma.ConfirmarInscricao();

            return(inscricao);
        }
Beispiel #2
0
        public async Task <Inscricao> RealizarInscricaoAsync(Turma turma, Inscricao.ETipoPagamento tipoPagamento)
        {
            turma.AceitaInscricao(this);

            var inscricao = Inscricao.Criar(this, turma, tipoPagamento);

            _inscricoes.Add(inscricao);

            var valorMensal = await turma.CalcularValorMensalAsync(inscricao);

            _dividas.AddRange(inscricao.GerarDividas(valorMensal));

            turma.ConfirmarInscricao();

            return(inscricao);
        }