public async Task <PaginacaoResultadoDto <CursoGoogle> > Executar(FiltroObterCursosCadastradosDto filtroObterTodosCursosDto)
        {
            var paginacao = new Paginacao(filtroObterTodosCursosDto.PaginaNumero, filtroObterTodosCursosDto.RegistrosQuantidade);

            return(await mediator.Send(new ObterCursosCadastradosQuery(paginacao, filtroObterTodosCursosDto.TurmaId,
                                                                       filtroObterTodosCursosDto.ComponenteCurricularId, filtroObterTodosCursosDto.CursoId, filtroObterTodosCursosDto.EmailCriador)));
        }
Esempio n. 2
0
        public async Task <IActionResult> ObterTodosCursos([FromServices] IObterCursosCadastradosUseCase obterCursosCadastradosUseCase,
                                                           [FromQuery] FiltroObterCursosCadastradosDto filtro)
        {
            var retorno = await obterCursosCadastradosUseCase.Executar(filtro);

            return(Ok(retorno));
        }
        public async Task <bool> Executar(long?turmaId, long?componenteCurricularId)
        {
            FiltroObterCursosCadastradosDto filtro = new FiltroObterCursosCadastradosDto
            {
                TurmaId = turmaId,
                ComponenteCurricularId = componenteCurricularId,
                PaginaNumero           = 1,
                RegistrosQuantidade    = 500000
            };

            var cursosCadastrados = await obterCursosCadastradosUseCase.Executar(filtro);

            foreach (var cursoGoogle in cursosCadastrados.Items)
            {
                try
                {
                    var alunosCurso = await obterCursosAlunosParaIncluirGoogleUseCase.Executar(cursoGoogle.TurmaId, cursoGoogle.ComponenteCurricularId);

                    foreach (var aluno in alunosCurso)
                    {
                        var alunoDto = new AtribuirAlunoCursoDto
                        {
                            CodigoAluno            = aluno.CodigoAluno,
                            TurmaId                = aluno.TurmaId,
                            ComponenteCurricularId = aluno.ComponenteCurricularId
                        };
                        await enviarRequisicaoAtribuirAlunoCursoUseCase.Executar(alunoDto);
                    }
                }
                catch (Exception ex)
                {
                    throw new ArgumentException($"Erro ao enviar a atualização de alunos do curso: [ID:{cursoGoogle.Id}] - Nome:{cursoGoogle.Nome} -- Erro:{ex.Message} -- {ex.StackTrace}.");
                }
            }

            return(true);
        }