Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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"));
        }