//public async Task<IActionResult> Get(long id) public async Task <IActionResult> Buscaies() { // pegar os contextos professor e regime var ListaProfessores = Professores.getProfessores(Profcontext).ToListAsync(); // var query = await this.Context.CCenso.ToListAsync(); var query = await this.CContext.ProfessorCursoCenso.ToListAsync(); var results = query.Select(x => new { CodIes = x.CodIes, CpfProfessor = x.CpfProfessor, CodCampus = x.CodCampus, CodCurso = x.CodCurso, }).Where(c => c.CodCampus == c.CodCampus).ToList(); // return Ok(results); List <ProfessorDetalhe> ListaProfessorDetalhe = new List <ProfessorDetalhe>(); foreach (var professor in await ListaProfessores) { ProfessorDetalhe professordetalhe = new ProfessorDetalhe(); //cpf/nomeprofessor//titulacao//Nome professordetalhe.CpfProfessor = professor.CpfProfessor.ToString(); professordetalhe.NomProfessor = professor.NomProfessor; professordetalhe.titulacao = professor.Titulacao; professordetalhe.dtAdmissao = Convert.ToDateTime(professor.dtAdmissao); professordetalhe.codSexo = professor.CodSexo; professordetalhe.Nomraca = professor.NomRaca; professordetalhe.NomMae = professor.NomMae; professordetalhe.NacioProfessor = professor.NacionalidadeProfessor; ListaProfessorDetalhe.Add(professordetalhe); } return(Ok(ListaProfessorDetalhe.Select(x => new { x.CpfProfessor , x.NomProfessor , x.titulacao , x.dtAdmissao , x.codSexo , x.Nomraca , x.NomMae , x.NacioProfessor //, x.Pais //, x.UF //, x.Municipio }))); }
public async Task <IActionResult> BuscaProfessor() { try { // pegar os contextos professor e regime var ListaProfessores = Professores.getProfessores(Profcontext).ToListAsync(); var regime = RegContext.ProfessorRegime.ToDictionary(x => x.CpfProfessor); //var ListaRegime = regime.Keys.ToList(); List <ProfessorDetalhe> ListaProfessorDetalhe = new List <ProfessorDetalhe>(); foreach (var professor in await ListaProfessores) { ProfessorDetalhe professordetalhe = new ProfessorDetalhe(); //cpf/nomeprofessor//titulacao//regime professordetalhe.CpfProfessor = professor.CpfProfessor.ToString(); professordetalhe.NomProfessor = professor.NomProfessor; professordetalhe.titulacao = professor.Titulacao; if (regime.ContainsKey(professordetalhe.CpfProfessor)) { professordetalhe.regime = regime[professordetalhe.CpfProfessor.ToString()].Regime; } else { professordetalhe.regime = "CHZ/AFASTADO"; } ListaProfessorDetalhe.Add(professordetalhe); } return(Ok(ListaProfessorDetalhe.Select(x => new { x.CpfProfessor , x.NomProfessor , x.titulacao , x.regime }))); } catch (System.Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, "Erro no Banco de Dados.")); } // Termino da pesquisa detalhe professor // fim }
public async Task <IActionResult> BuscaDetalhe(string id) { try { var diccampus = this.CampusContext.TbSiaCampus.ToDictionary(x => x.CodCampus); var dic = this.censocontext.ProfessorCursoCenso .Where(x => x.CpfProfessor.ToString() == id) .ToList(); var dic1 = this.censocontext.CursoCenso.Select(x => new CursoDetalhe { CodCurso = x.CodCurso, NomCurso = x.NomCursoCenso, CodCampus = x.CodCampus }) .ToList(); var dicCurso = dic1.Distinct <CursoDetalhe>(new CursoComparer()).ToDictionary(x => x.CodCampus.ToString() + "_" + x.CodCurso.ToString()); // defuinindo a LISTA de matricula List <ProfessorMatricula> matricula; var mat = MatriculaContext.ProfessorMatricula.ToListAsync(); matricula = await mat; //var mat = this.MatriculaContext.ProfessorMatricula.ToDictionary(x => x.cpfProfessor.ToString()); // pegar os contextos var professor = Professores.getProfessores(context).Where(x => x.CpfProfessor == id).First(); var regime = regContext.ProfessorRegime.ToDictionary(x => x.CpfProfessor.ToString()); ProfessorDetalhe professordetalhe = new ProfessorDetalhe(); //cpf/nomeprofessor//titulacao//regime professordetalhe.CpfProfessor = professor.CpfProfessor.ToString(); professordetalhe.NomProfessor = professor.NomProfessor; professordetalhe.titulacao = professor.Titulacao; // RECEBENDO O CODIGO DA REGIAO E O NOME professordetalhe.Regioes = matricula.Where(x => x.cpfProfessor.ToString() == id) .Select(x => x.nomeRegiao) .Distinct() .ToList(); //professordetalhe.CargaTotal = double.Parse(regime[professordetalhe.CpfProfessor.ToString()].CargaTotal).ToString(); if (regime.ContainsKey(professordetalhe.CpfProfessor.ToString())) { professordetalhe.regime = regime[professordetalhe.CpfProfessor.ToString()].Regime; professordetalhe.CargaTotal = (double)Math.Round((decimal)((regime[professordetalhe.CpfProfessor.ToString()].CargaTotal == null) ? 0.0 : regime[professordetalhe.CpfProfessor.ToString()].CargaTotal), 2); professordetalhe.QtdHorasDs = (double)Math.Round((decimal)((regime[professordetalhe.CpfProfessor.ToString()].QtdHorasDs == null) ? 0.00 : regime[professordetalhe.CpfProfessor.ToString()].QtdHorasDs), 2); professordetalhe.QtdHorasFs = (double)Math.Round((decimal)((regime[professordetalhe.CpfProfessor.ToString()].QtdHorasFs == null) ? 0.00 : regime[professordetalhe.CpfProfessor.ToString()].QtdHorasFs), 2); } else { professordetalhe.regime = "Não encontrado"; professordetalhe.CargaTotal = 0; professordetalhe.QtdHorasDs = 0; professordetalhe.QtdHorasFs = 0; } foreach (var item in dic) { //if (listaprofessordetalhe.Find(x => x.CpfProfessor == item.CpfProfessor.ToString()) == null) if (dic.Count > 0) { professordetalhe.Cursos.Add(new Curso { codcurso = item.CodCurso, nomcampus = diccampus.TryGetValue(item.CodCampus, out var camp) ? camp.NomCampus : "NÃO ENCONTRADO", nomcurso = dicCurso.TryGetValue(item.CodCampus.ToString() + "_" + item.CodCurso.ToString(), out var curso) ? curso.NomCurso : "NÃO ENCONTRADO" }); }