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