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, "")); }
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()); }