public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var filtro       = request.ObterObjetoFiltro <FiltroRelatorioLeituraComunicadosDto>();
                var relatorioDto = new RelatorioLeituraComunicadosDto();

                filtro.Turma = filtro.Turma == "-99" ? "" : filtro.Turma;

                await ObterFiltroRelatorio(relatorioDto, filtro, request.UsuarioLogadoRF);
                await ObterDadosRelatorio(relatorioDto, filtro);

                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioEscolaAquiLeituraComunicados", relatorioDto, request.CodigoCorrelacao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private async Task ObterFiltroRelatorio(RelatorioLeituraComunicadosDto relatorioDto, FiltroRelatorioLeituraComunicadosDto filtro, string usuarioLogadoRF)
        {
            var filtroRelatorio = new FiltroLeituraComunicadosDto();


            filtroRelatorio.Dre = await ObterNomeDre(filtro.CodigoDre);

            filtroRelatorio.Ue = await ObterNomeUe(filtro.CodigoUe);

            filtroRelatorio.Usuario = filtro.NomeUsuario;
            filtroRelatorio.RF      = usuarioLogadoRF;

            if (filtro.DataInicio == null)
            {
                filtro.DataInicio = new DateTime(filtro.Ano, 1, 1);
            }

            if (filtro.DataFim == null)
            {
                filtro.DataFim = new DateTime(filtro.Ano, 12, 31);
            }

            relatorioDto.Filtro = filtroRelatorio;
        }
 private async Task ObterDadosRelatorio(RelatorioLeituraComunicadosDto relatorioDto, FiltroRelatorioLeituraComunicadosDto filtro)
 {
     relatorioDto.LeituraComunicadoDto = await mediator.Send(new ObterDadosLeituraComunicadosQuery(filtro));
 }