// GET: Professor public async Task <IActionResult> Index(int?id, int?CursoID) { var viewModel = new ProfessorCurso(); viewModel.Professores = await _context.Professor .Include(i => i.CursosAtribuidos) .ThenInclude(i => i.Curso) .ThenInclude(i => i.Departamento) .OrderBy(i => i.NomeHeroi) .ToListAsync(); if (id != null) { ViewData["ProfessorID"] = id.Value; Professor professor = viewModel.Professores.Where( i => i.ID == id.Value).Single(); viewModel.Cursos = professor.CursosAtribuidos.Select(s => s.Curso); } return(View(viewModel)); }
public List <Resultado> OtimizaCurso(Dictionary <long?, PrevisaoSKU> _dicPrevisao, List <ProfessorCursoEmec> _ListaProfessorEmec, List <CursoProfessor> _listaProfessor, List <CursoEnquadramento> _listaCursoEnquadramento, ParametrosCenso _parametros) { var cargaDS = this.CargaContext.CargaDS .ToDictionary(x => x.CpfProfessor); var cargaFS = this.CargaContext.CargaFS .ToDictionary(x => x.CpfProfessor); ListaprofessorCurso = new List <ProfessorCurso>(); var TaskEnade = Task.Run(() => { return(this.Context.CursoCenso.ToList()); }); // Monta Relação Professor Curso #################### foreach (var curso in _listaProfessor) { foreach (var prof in curso.Professores) { // Professor novo na lista if (this.ListaprofessorCurso.Where(x => x.cpfProfessor == prof.cpfProfessor.ToString()).Count() == 0) { professorCurso = new ProfessorCurso(); professorCurso.cpfProfessor = prof.cpfProfessor.ToString(); professorCurso.strCursos.Add(curso.CodEmec.ToString()); ListaprofessorCurso.Add(professorCurso); professorCurso = null; } // Adicionando curso ao professor else { professorCurso = ListaprofessorCurso.FirstOrDefault(x => x.cpfProfessor == prof.cpfProfessor.ToString()); if (!professorCurso.strCursos.Contains(curso.CodEmec.ToString())) { professorCurso.strCursos.Add(curso.CodEmec.ToString()); } } } } // ############## Alavanca Curso não Enade ############ // #################################################### Task.WaitAll(TaskEnade); var CursoEnade = TaskEnade.Result; var CursoNaoEnade = CursoEnade.Where(x => x.IndEnade.Contains('N')).Select(c => c.CodEmec.ToString()).Distinct().ToList(); var CursoSimEnade = CursoEnade.Where(x => x.IndEnade.Contains('S')).Select(c => c.CodEmec.ToString()).Distinct().ToList(); foreach (var item in _listaProfessor) { item.Professores.RemoveAll(pe => RemoveProfessor(_listaProfessor, item, _dicPrevisao, pe, "S") && _listaProfessor.Where(cp => cp.Professores .Where(p => p.cpfProfessor == pe.cpfProfessor).Count() > 0) .Select(cp => cp.CodEmec) .ToList() .Exists(x => CursoNaoEnade.Contains(x.ToString()) && CursoSimEnade.Contains(item.CodEmec.ToString())) ); } ; // ######################## Alavanca Colaborador ######################## // foreach (var item in _listaProfessor) { item.Professores.RemoveAll(pe => (RemoveProfessor(_listaProfessor, item, _dicPrevisao, pe) && pe.Regime == "HORISTA" && ((cargaDS.TryGetValue(pe.cpfProfessor.ToString(), out var ds) ? ds.QtdHoras : 0) + (cargaFS.TryGetValue(pe.cpfProfessor.ToString(), out var fs) ? fs.QtdHoras : 0)) < 8 )); } ; // ######################## Alavanca Excluído Ofensor ######################## // foreach (var item in _listaProfessor) { item.Professores.RemoveAll(pe => (RemoveProfessorExcluido(_listaProfessor, item, _dicPrevisao, pe) && pe.Ativo == "NÃO" )); } ; // ######################## Limpeza força bruta ######################## // foreach (var item in _listaProfessor) { item.Professores.RemoveAll(pe => (RemoveProfessor(_listaProfessor, item, _dicPrevisao, pe, "N") )); } ; var final = CalculaNotaCursos(_dicPrevisao, _listaProfessor, CursoSimEnade); return(final); }
public void remove(ProfessorCurso professorCurso) { db.Leciona.Attach(professorCurso); db.Leciona.Remove(professorCurso); db.SaveChanges(); }
public ProfessorCurso detalhe(int?id) { ProfessorCurso professorCurso = db.Leciona.Include(i => i.professor).SingleOrDefault(x => x.id == id); return(professorCurso); }
public void atualiza(ProfessorCurso professorCurso) { db.Entry(professorCurso).State = EntityState.Modified; db.SaveChanges(); }
public void adiciona(ProfessorCurso professorCurso) { db.Leciona.Add(professorCurso); db.SaveChanges(); }