public ActionResult Assign(int id) { ViewBag.Title = "Asignar hijo a padre"; var usuario = servicio.ObtenerPadrePorId(usuarioLogueado, id); var alumnos = servicio.ObtenerAlumnos(usuarioLogueado, 0, int.MaxValue, null).Lista; HijoViewModel model = new HijoViewModel(); model.Usuario = usuario; model.Hijos = alumnos.Select(x => new HijoSelectedViewModel() { Id = x.Id, Nombre = x.Nombre, Apellido = x.Apellido, Selected = usuario.Hijos?.Any(s => s.Id == x.Id) ?? false }).ToArray(); return(View(model)); }
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")); }