public ActionResult AddAluno(long id, VMAddAluno vm) { vm.DisciplinaId = id; if (ModelState.IsValid) { try { var disciplina = db.Disciplinas.Find(id); if (disciplina == null) return new HttpNotFoundResult(); var aluno = db.Users.ToList().Where(u => userManager.IsInRole(u.Id, "Aluno") && u.Id == vm.AlunoId).FirstOrDefault(); if (aluno == null) return new HttpNotFoundResult(); if (disciplina.Alunos.Contains(aluno)) { ModelState.AddModelError("AlunoId", "Aluno já adicionado nessa disciplina"); return View(vm); } disciplina.Alunos.Add(aluno); db.SaveChanges(); this.FlashInfo("Aluno adicionado com sucesso"); return RedirectToAction("Edit", new { id = id }); } catch(Exception ex) { ModelState.AddModelError("", ex.Message); } } return View(vm); }
public ActionResult AddAluno(long id) { VMAddAluno vm = new VMAddAluno(); vm.DisciplinaId = id; var alunos = db.Users.ToList().Where(u => userManager.IsInRole(u.Id, "Aluno")); foreach (var aluno in alunos) { vm.Alunos.Add(new VMAluno() { Id = aluno.Id, Email = aluno.Email, Nome = aluno.UserName }); } return View(vm); }