Example #1
0
        private async Task <HorarioIndividualRelatorioData> GerarDadosRelatorioIndividual(GerarHorarioIndividualRelatorioConsulta request)
        {
            var professor = await _professorRepositorio.Consultar(lnq => lnq.Codigo == request.CodigoProfessor);

            var cargos = await _cargoRepositorio.Listar(lnq => lnq.CodigoProfessor == request.CodigoProfessor &&
                                                        lnq.Ano == request.Ano &&
                                                        lnq.Semestre == request.Semestre);

            if (cargos == null || cargos.Count <= 0)
            {
                return(new HorarioIndividualRelatorioData());
            }

            var cargosId = cargos.Select(lnq => lnq.Codigo);

            var disciplinasCargo = await _cargoDisciplinaRepositorio.Listar(lnq => cargosId.Contains(lnq.CodigoCargo));

            return(new HorarioIndividualRelatorioData
            {
                Ano = request.Ano,
                Semestre = request.Semestre.RetornarDescricao(),
                Cargo = cargos.Select(lnq => $"Cargo: {lnq.Numero} - Edital: {lnq.Edital}").Join(", "),
                Professor = professor.Nome,
                DisciplinasMinistradas = await ListarDisciplinasMinistradas(disciplinasCargo),
                Aulas = await CarregarAulas(disciplinasCargo)
            });
        }
        public ActionResult <IEnumerable <Cargo> > Get()
        {
            var res = _cargoRepositorio.Listar();

            if (res == null)
            {
                return(NotFound());
            }

            return(res.ToList());
        }