Beispiel #1
0
        private async Task <Guid> SolicitarRelatorioBimestral(int bimestre, Ue ue)
        {
            var filtro = new FiltroRelatorioFaltasFrequenciaDto()
            {
                AnoLetivo     = DateTime.Now.Year,
                AnosEscolares = new[] { "-99" },
                Bimestres     = new List <int>()
                {
                    bimestre
                },
                Modalidade = Modalidade.Fundamental,
                CodigoDre  = ue.Dre.CodigoDre,
                CodigoUe   = ue.CodigoUe,
                ComponentesCurriculares = new List <string>()
                {
                    "1060", "1061", "1322"
                },
                TipoRelatorio        = TipoRelatorioFaltasFrequencia.Ambos,
                Condicao             = CondicoesRelatorioFaltasFrequencia.TodosEstudantes,
                TipoFormatoRelatorio = TipoFormatoRelatorio.Pdf,
                NomeUsuario          = "Processo automático",
                CodigoRf             = " - ",
            };

            return(await mediator.Send(new SolicitaRelatorioFaltasFrequenciaCommand(filtro)));
        }
        public async Task <bool> Executar(FiltroRelatorioFaltasFrequenciaDto filtro)
        {
            var usuario = await mediator.Send(new ObterUsuarioLogadoQuery());

            if (usuario == null)
            {
                throw new NegocioException("Não foi possível localizar o usuário.");
            }

            filtro.NomeUsuario = usuario.Nome;
            filtro.CodigoRf    = usuario.CodigoRf;


            if (filtro.Bimestres.Any(c => c == -99))
            {
                filtro.Bimestres = new List <int>();
                switch (filtro.Modalidade)
                {
                case Modalidade.Fundamental:
                case Modalidade.Infantil:
                case Modalidade.Medio:
                    filtro.Bimestres.AddRange(new int[] { 0, 1, 2, 3, 4, -99 });
                    break;

                case Modalidade.EJA:
                    filtro.Bimestres.AddRange(new int[] { 0, 1, 2, -99 });
                    break;
                }
            }

            return(await mediator.Send(new GerarRelatorioCommand(TipoRelatorio.FaltasFrequencia, filtro, usuario, filtro.TipoFormatoRelatorio)));
        }
 public async Task <IActionResult> FaltasFrequencia([FromBody] FiltroRelatorioFaltasFrequenciaDto filtroRelatorioFaltasFrequenciaDto, [FromServices] IGerarRelatorioFaltasFrequenciaUseCase gerarRelatorioFaltasFrequenciaUseCase)
 {
     return(Ok(await gerarRelatorioFaltasFrequenciaUseCase.Executar(filtroRelatorioFaltasFrequenciaDto)));
 }
 public SolicitaRelatorioFaltasFrequenciaCommand(FiltroRelatorioFaltasFrequenciaDto filtro)
 {
     Filtro = filtro;
 }