예제 #1
0
        //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
                                                   })));
        }
예제 #2
0
        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
        }
예제 #3
0
        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"
                        });
                    }