private async Task ValidarAulasDeReposicao(AlterarAulaUnicaCommand request, Turma turma, IEnumerable <AulaConsultaDto> aulasExistentes, Aula aula, List <string> mensagens)
        {
            if (request.TipoAula == TipoAula.Reposicao)
            {
                var quantidadeDeAulasExistentes = aulasExistentes.Where(x => x.DataAula.Date == request.DataAula.Date).Sum(x => x.Quantidade);

                if (turma.AulasReposicaoPrecisamAprovacao(quantidadeDeAulasExistentes + request.Quantidade))
                {
                    var idWorkflow = await PersistirWorkflowReposicaoAula(request, turma, aula);

                    aula.EnviarParaWorkflowDeAprovacao(idWorkflow);

                    mensagens.Add("Aula enviada para aprovação do workflow");
                }
            }
        }
        private async Task ValidarAulasDeReposicao(InserirAulaUnicaCommand request, Turma turma, IEnumerable <AulaConsultaDto> aulasExistentes, Aula aula, List <string> mensagens)
        {
            if (request.TipoAula == TipoAula.Reposicao)
            {
                var quantidadeDeAulasExistentes = aulasExistentes.Where(x => x.DataAula.Date == request.DataAula.Date).Sum(x => x.Quantidade);

                if (AulasReposicaoPrecisamAprovacao(quantidadeDeAulasExistentes + request.Quantidade, request.EhRegencia))
                {
                    var idWorkflow = await PersistirWorkflowReposicaoAula(request, turma, aula);

                    aula.EnviarParaWorkflowDeAprovacao(idWorkflow);
                    await repositorioAula.SalvarAsync(aula);

                    mensagens.Add("Aula cadastrada e enviada para aprovação com sucesso.");
                }
            }
        }