Esempio n. 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)
            });
        }
Esempio n. 2
0
        public async Task <Resposta <Professor> > Handle(AtualizarProfessorComando request, CancellationToken cancellationToken)
        {
            var erros = _validador.Validar(request);

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

            var entidade = await _repositorio.Consultar(lnq => lnq.Codigo == request.Codigo);

            entidade.Codigo      = request.Codigo;
            entidade.Ativo       = request.Ativo ?? false;
            entidade.Email       = request.Email;
            entidade.Matricula   = request.Matricula;
            entidade.Nome        = request.Nome;
            entidade.Telefone    = request.Telefone;
            entidade.Contratacao = request.Contratacao;

            var professor = await _repositorio.Atualizar(entidade);

            return(new Resposta <Professor>(professor));
        }
Esempio n. 3
0
 private async Task <bool> ValidarProfessorExistente(int professorId, CancellationToken cancellationToken)
 {
     return(await _repositorio.Consultar(lnq => lnq.Codigo == professorId) != null);
 }