public async Task <bool> Executar(AtribuirAlunoCursoDto atribuirAlunoCurso) { var alunoCursoEol = new AlunoCursoEol(atribuirAlunoCurso.CodigoAluno, atribuirAlunoCurso.TurmaId, atribuirAlunoCurso.ComponenteCurricularId); var publicarAlunoCurso = await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaAlunoCursoIncluir, RotasRabbit.FilaAlunoCursoIncluir, alunoCursoEol)); if (!publicarAlunoCurso) { throw new NegocioException("Não foi possível realizar a requisição para atribuir o aluno ao curso."); } return(publicarAlunoCurso); }
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); }
public async Task <IActionResult> EnviarRequisicaoAtribuirAlunoCurso([FromBody] AtribuirAlunoCursoDto atribuirAlunoCurso, [FromServices] IEnviarRequisicaoAtribuirAlunoCursoUseCase atribuirAlunoCursoUseCase) { var retorno = await atribuirAlunoCursoUseCase.Executar(atribuirAlunoCurso); return(Ok(retorno)); }