public async Task <IActionResult> RemoverTurmas([FromServices] IRemoverTurmaUseCase useCase,
                                                        [FromBody] FiltroRemoverTurmaDto filtro)
        {
            var retorno = await useCase.Executar(filtro);

            return(retorno ? Ok(retorno) : StatusCode(500));
        }
Ejemplo n.º 2
0
        public async Task <bool> Executar(FiltroRemoverTurmaDto filtro)
        {
            var cursosParaRemover = new List <string>();
            var turmasId          =
                await mediator.Send(new ObterTurmasPorTipoECodigosQuery(filtro.CodigoTurma));

            foreach (var turmaId in turmasId)
            {
                var cursos = await mediator.Send(new ObterIdsCursosPorTurmaQuery(turmaId));

                cursosParaRemover.AddRange(cursos.Select(id => id.ToString()));
            }

            foreach (var cursoId in cursosParaRemover)
            {
                await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaCursoAhRemover,
                                                                 mensagem : cursoId));
            }

            return(true);
        }