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))); }
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); }