public async Task <IActionResult> ObterTodosAlunosQueSeraoRemovidos([FromServices] IObterAlunosQueSeraoRemovidosUseCase useCase,
                                                                            [FromQuery] FiltroObterAlunosQueSeraoRemovidosDto filtro)
        {
            var retorno = await useCase.Executar(filtro);

            return(Ok(retorno));
        }
        public async Task <PaginacaoResultadoDto <AlunoEol> > Executar(FiltroObterAlunosQueSeraoRemovidosDto filtro)
        {
            var paginacao = new Paginacao(filtro.PaginaNumero, filtro.RegistrosQuantidade);

            var ehDataReferenciaPrincipal = false;

            if (filtro.DataReferencia == DateTime.MinValue)
            {
                filtro.DataReferencia = await mediator.Send(new ObterDataUltimaExecucaoPorTipoQuery(ExecucaoTipo.UsuarioCursoRemover));
            }
            if (filtro.DataReferencia == DateTime.Today || filtro.DataReferencia.AddDays(1) == DateTime.Today)
            {
                ehDataReferenciaPrincipal = true;
            }

            var parametrosCargaInicialDto = await mediator.Send(new ObterParametrosCargaIncialPorAnoQuery(DateTime.Today.Year));

            return(await mediator.Send(new ObterAlunosQueSeraoRemovidosPorAnoLetivoETurmaQuery(parametrosCargaInicialDto, paginacao, filtro.AnoLetivo, filtro.TurmaId, filtro.DataReferencia, ehDataReferenciaPrincipal)));
        }