예제 #1
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var filtro       = request.ObterObjetoFiltro <FiltroRelatorioAlteracaoNotasDto>();
                var relatorioDto = new RelatorioAlteracaoNotasDto();

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

                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioHistoricoAlteracoesNotas", relatorioDto, request.CodigoCorrelacao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        private async Task ObterFiltroRelatorio(RelatorioAlteracaoNotasDto relatorioDto, FiltroRelatorioAlteracaoNotasDto filtro, string usuarioLogadoRF)
        {
            var filtroRelatorio = new FiltroAlteracaoNotasDto();


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

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

            filtroRelatorio.Usuario              = filtro.NomeUsuario;
            filtroRelatorio.RF                   = usuarioLogadoRF;
            filtroRelatorio.Bimestre             = ObterNomeBimestre(filtro.Bimestres);
            filtroRelatorio.ComponenteCurricular = await ObterComponenteCurricular(filtro.ComponentesCurriculares);

            filtroRelatorio.Turma = await ObterNomeTurma(filtro.Turma);

            relatorioDto.Filtro = filtroRelatorio;
        }
예제 #3
0
        public async Task <bool> Handle(GerarRelatorioAlteracaoNotasCommand request, CancellationToken cancellationToken)
        {
            var dto = new RelatorioAlteracaoNotasDto();

            return(!string.IsNullOrEmpty(await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioAlteracaoNotasBimestre", dto, request.CodigoCorrelacao, "", "Relatório de Alteração de Notas", true))));
        }
예제 #4
0
        public async Task <List <TurmaAlteracaoNotasDto> > Handle(ObterDadosRelatorioAlteracaoNotasCommand request, CancellationToken cancellationToken)
        {
            var dto = new RelatorioAlteracaoNotasDto();
            var listaTurmaAlteracaoNotasDto = new List <TurmaAlteracaoNotasDto>();

            bool isAnoAtual = request.FiltroRelatorio.AnoLetivo == DateTime.Now.Year ? true : false;

            var modalidadeCalendario = request.FiltroRelatorio.ModalidadeTurma == Modalidade.EJA ?
                                       ModalidadeTipoCalendario.EJA : request.FiltroRelatorio.ModalidadeTurma == Modalidade.Infantil ?
                                       ModalidadeTipoCalendario.Infantil : ModalidadeTipoCalendario.FundamentalMedio;

            var tipoCalendarioId = await mediator.Send(new ObterIdTipoCalendarioPorAnoLetivoEModalidadeQuery(request.FiltroRelatorio.AnoLetivo, modalidadeCalendario, request.FiltroRelatorio.Semestre));

            var turmas = await ObterTurmas(request.FiltroRelatorio.Turma, request.FiltroRelatorio.CodigoUe, request.FiltroRelatorio.AnoLetivo);

            foreach (var turma in turmas)
            {
                try
                {
                    if (!turma.Ano.Equals("0"))
                    {
                        var notaTipoValor = await mediator.Send(new ObterTipoNotaPorTurmaQuery(turma, request.FiltroRelatorio.AnoLetivo));

                        var alunos = await mediator.Send(new ObterAlunosPorTurmaQuery()
                        {
                            TurmaCodigo = turma.turma_id
                        });

                        var historicoAlteracaoNotas = await ObterHistoricoAlteracaoNotas(turma.Codigo, tipoCalendarioId, request.FiltroRelatorio.TipoAlteracaoNota);

                        var nomeTurma = turma.NomeRelatorio;

                        foreach (var historicoNota in historicoAlteracaoNotas)
                        {
                            var alunoAtual = alunos.FirstOrDefault(c => c.CodigoAluno == int.Parse(historicoNota.CodigoAluno));

                            if (alunoAtual != null)
                            {
                                historicoNota.NomeAluno     = alunoAtual.NomeAluno;
                                historicoNota.NumeroChamada = alunoAtual.NumeroAlunoChamada;
                                historicoNota.NomeTurma     = nomeTurma;
                            }
                        }
                        if (historicoAlteracaoNotas != null && historicoAlteracaoNotas.Any())
                        {
                            listaTurmaAlteracaoNotasDto.Add(await MapearParaTurmaDto(historicoAlteracaoNotas, request.FiltroRelatorio.Bimestres, request.FiltroRelatorio.AnoLetivo, notaTipoValor.TipoNota));
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            if (listaTurmaAlteracaoNotasDto == null || !listaTurmaAlteracaoNotasDto.Any())
            {
                throw new NegocioException("Nenhuma informação para os filtros informados.");
            }
            return(listaTurmaAlteracaoNotasDto);
        }
예제 #5
0
 private async Task ObterDadosRelatorio(RelatorioAlteracaoNotasDto relatorioDto, FiltroRelatorioAlteracaoNotasDto filtro)
 {
     relatorioDto.Turmas = await mediator.Send(new ObterDadosRelatorioAlteracaoNotasCommand(filtro));
 }