public async Task <ActionResult> AssignToGroup(AddGroupsView model) { if (ModelState.IsValid) { var quiz = _db.Quizs.Include("GroupsList").FirstOrDefault(m => m.Id == model.QuizId); if (quiz == null) { return(View(model)); } if (quiz.GroupsList == null) { quiz.GroupsList = new List <TeachingGroup>(); } else { quiz.GroupsList.Clear(); _db.SaveChanges(); } foreach (var groupToAdd in model.GroupsList.Where(groupToAdd => groupToAdd.Selected)) { quiz.GroupsList.Add(_db.Groups.Find(groupToAdd.GroupId)); } await _db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <ActionResult> AssignToGroup(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var quiz = await _db.Quizs.Include("GroupsList").FirstOrDefaultAsync(m => m.Id == id); if (quiz == null) { return(HttpNotFound()); } var qroupsList = await _db.Groups.ToListAsync(); var model = new AddGroupsView { QuizId = quiz.Id, QuizName = quiz.Name, GroupsList = qroupsList.Select(group => new GroupToAdd() { GroupId = group.Id, Name = group.Name, Selected = false }).ToList() }; foreach (var group in model.GroupsList.Where(group => quiz.GroupsList.Contains(_db.Groups.Find(group.GroupId)))) { group.Selected = true; } ViewBag.Name = quiz.Name; ViewBag.QuizId = quiz.Id; return(View(model)); }