public RelatorioCompensacaoAusenciaObterResultadoFinalQuery(FiltroRelatorioCompensacaoAusenciaDto filtros, Ue ue, Dre dre, IEnumerable <ComponenteCurricularPorTurma> componentesCurriculares, IEnumerable <RelatorioCompensacaoAusenciaRetornoConsulta> compensacoes, IEnumerable <AlunoHistoricoEscolar> alunos, IEnumerable <FrequenciaAluno> frequencias)
 {
     Filtros = filtros;
     Ue      = ue;
     Dre     = dre;
     ComponentesCurriculares = componentesCurriculares;
     Compensacoes            = compensacoes;
     Alunos      = alunos;
     Frequencias = frequencias;
 }
        public async Task <bool> Executar(FiltroRelatorioCompensacaoAusenciaDto filtroRelatorioCompensacaoAusenciaDto)
        {
            await mediator.Send(new ValidaSeExisteDrePorCodigoQuery(filtroRelatorioCompensacaoAusenciaDto.DreCodigo));

            await mediator.Send(new ValidaSeExisteUePorCodigoQuery(filtroRelatorioCompensacaoAusenciaDto.UeCodigo));

            var usuarioLogado = await mediator.Send(new ObterUsuarioLogadoQuery());

            filtroRelatorioCompensacaoAusenciaDto.UsuarioNome = usuarioLogado.Nome;
            filtroRelatorioCompensacaoAusenciaDto.UsuarioRf   = usuarioLogado.CodigoRf;

            return(await mediator.Send(new GerarRelatorioCommand(TipoRelatorio.CompensacaoAusencia, filtroRelatorioCompensacaoAusenciaDto, usuarioLogado)));
        }
        private static void MontaCabecalho(FiltroRelatorioCompensacaoAusenciaDto filtros, Data.Ue ue, Data.Dre dre, System.Collections.Generic.IEnumerable <RelatorioCompensacaoAusenciaRetornoConsulta> compensacoes, System.Collections.Generic.IEnumerable <Data.ComponenteCurricularPorTurma> componentesCurriculares, RelatorioCompensacaoAusenciaDto result)
        {
            result.Bimestre = filtros.Bimestre > 0 ? filtros.Bimestre.ToString() : "Todos";


            if (filtros.ComponentesCurriculares != null && filtros.ComponentesCurriculares.Any())
            {
                if (filtros.ComponentesCurriculares.Count() == 1)
                {
                    result.ComponenteCurricular = componentesCurriculares.FirstOrDefault(a => a.CodDisciplina == filtros.ComponentesCurriculares.FirstOrDefault())?.Disciplina;
                }
                else
                {
                    result.ComponenteCurricular = "";
                }
            }
            else
            {
                result.ComponenteCurricular = "Todos";
            }

            result.Data       = DateTime.Today.ToString("dd/MM/yyyy");
            result.Modalidade = filtros.Modalidade.Name();
            result.RF         = filtros.UsuarioRf;

            if (filtros.TurmasCodigo != null && filtros.TurmasCodigo.Any())
            {
                result.TurmaNome = $"{filtros.Modalidade.ShortName()} - {compensacoes.FirstOrDefault(a => a.TurmaCodigo == filtros.TurmasCodigo[0])?.TurmaNome}";
            }
            else
            {
                result.TurmaNome = "Todas";
            }

            result.UeNome  = ue.NomeComTipoEscola;
            result.DreNome = dre.Abreviacao;
            result.Usuario = filtros.UsuarioNome;
        }
예제 #4
0
 public async Task <IActionResult> Gerar(FiltroRelatorioCompensacaoAusenciaDto filtroRelatorioCompensacaoAusenciaDto, [FromServices] IRelatorioCompensacaoAusenciaUseCase relatorioCompensacaoAusenciaUseCase)
 {
     return(Ok(await relatorioCompensacaoAusenciaUseCase.Executar(filtroRelatorioCompensacaoAusenciaDto)));
 }