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 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)); }
private async Task <bool> ValidarProfessorExistente(int professorId, CancellationToken cancellationToken) { return(await _repositorio.Consultar(lnq => lnq.Codigo == professorId) != null); }