Esempio n. 1
0
        public async Task <Resposta <string> > Handle(GerarHorarioGeralRelatorioConsulta request, CancellationToken cancellationToken)
        {
            var erro = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erro))
            {
                return(new Resposta <string>(erro));
            }

            var curso = await RetornarDescricaoCurso(request.CodigoCurso);

            var turno = await RetornarDescricaoTurno(request.CodigoTurno);

            var horarios = await RetornarHorarios(request);

            var aulas = await RetornarAulas(horarios);

            var semestre = request.Semestre.RetornarDescricao();

            var dados = new HorarioGeralRelatorioData(request.Ano, curso, turno, semestre, horarios, aulas);

            var bytesRelatorio = _relatorioServico.GerarRelatorioHorarioGeral(dados);

            var base64 = Convert.ToBase64String(bytesRelatorio);

            return(new Resposta <string>(base64, ""));
        }
Esempio n. 2
0
        private async Task <IList <QuadroHorarioData> > RetornarHorarios(GerarHorarioGeralRelatorioConsulta request)
        {
            var curriculosCurso = await _curriculoRepositorio.ListarCodigos(lnq => lnq.CodigoCurso == request.CodigoCurso);

            if (curriculosCurso.Count <= 0)
            {
                return(new List <QuadroHorarioData>());
            }

            var horarios = await _horarioAulaRepositorio.Listar(lnq => curriculosCurso.Contains(lnq.CodigoCurriculo) &&
                                                                lnq.Ano == request.Ano &&
                                                                lnq.CodigoTurno == request.CodigoTurno &&
                                                                lnq.Semestre == request.Semestre);

            return(horarios.Select(lnq => new QuadroHorarioData
            {
                Avisos = lnq.Mensagem,
                Codigo = lnq.Codigo,
                Periodo = lnq.Periodo.RetornarDescricao()
            }).ToList());
        }