public async Task <IActionResult> RemoverTurmas([FromServices] IRemoverTurmaUseCase useCase, [FromBody] FiltroRemoverTurmaDto filtro) { var retorno = await useCase.Executar(filtro); return(retorno ? Ok(retorno) : StatusCode(500)); }
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); }