public ActionResult Assign(int id, HijoViewModel model) { var usuario = servicio.ObtenerPadrePorId(usuarioLogueado, id); var alumnos = servicio.ObtenerAlumnos(usuarioLogueado, 0, int.MaxValue, null).Lista; foreach (var hijo in usuario.Hijos ?? new Hijo[] { }) { if (model.Hijos.Any(x => x.Selected && x.Id == hijo.Id) == false) { servicio.DesasignarHijoPadre(hijo, usuario, usuarioLogueado); } } foreach (var item in model.Hijos.Where(x => x.Selected)) { var hijo = alumnos.Single(x => x.Id == item.Id); servicio.AsignarHijoPadre(hijo, usuario, usuarioLogueado); } return(RedirectToAction("Index")); }