public ActionResult Detalhes(int id)
 {
     var aplicacao = new DisciplinaAplicacao();
     var disciplina = aplicacao.ListarPorId(id);
     if (disciplina == null)
         return HttpNotFound();
     return View(disciplina);
 }
        public ActionResult Editar(Disciplina disciplina)
        {
            if (ModelState.IsValid)
            {
                var aplicacao = new DisciplinaAplicacao();
                aplicacao.Salvar(disciplina);
                return RedirectToAction("Index");
            }

            return View(disciplina);
        }
        public Professor ListarPorId(int id)
        {
            var professor = new ProfessorAplicacao().ListarPorId(id);

            var professorDisciplinas = ListarDisciplinaPorProfessorId(professor.ProfessorId);
            foreach (var professorDisciplina in professorDisciplinas)
            {
                var disciplina = new DisciplinaAplicacao().ListarPorId(professorDisciplina.DisciplinaId);
                if (disciplina != null)
                    professor.Disciplinas.Add(disciplina);

            }

            return professor;
        }
 private List<ProfessorDisciplinaViewModel> PreencherDisciplinaDoProfessor(Professor professor)
 {
     var todasAsDisciplinas = new DisciplinaAplicacao().ListarTodos();
     var professorDisciplinasId = new HashSet<int>(professor.Disciplinas.Select(c => c.DisciplinaId));
     var viewModel = new List<ProfessorDisciplinaViewModel>();
     foreach (var disciplina in todasAsDisciplinas)
     {
         viewModel.Add(new ProfessorDisciplinaViewModel()
         {
             Disciplina = disciplina,
             Associado = professorDisciplinasId.Contains(disciplina.DisciplinaId)
         });
     }
     return viewModel;
 }
        public List<Professor> ListarTodos()
        {
            var listaDeProfessores = new ProfessorAplicacao().ListarTodos();
            foreach (var professor in listaDeProfessores)
            {
                var professorDisciplinas = ListarDisciplinaPorProfessorId(professor.ProfessorId);
                foreach (var professorDisciplina in professorDisciplinas)
                {
                    var disciplina = new DisciplinaAplicacao().ListarPorId(professorDisciplina.DisciplinaId);
                    if (disciplina != null)
                        professor.Disciplinas.Add(disciplina);

                }
            }
            return listaDeProfessores;
        }
 public ActionResult Index()
 {
     var aplicacao = new DisciplinaAplicacao();
     var lista = aplicacao.ListarTodos();
     return View(lista);
 }
 public ActionResult ExcluirConfirmado(int id)
 {
     var aplicacao = new DisciplinaAplicacao();
     aplicacao.Excluir(id);
     return RedirectToAction("Index");
 }