public ActionResult reclamoTodos()
        {
            string idUser = User.Identity.GetUserId();

            var reclamosAgrupados = db.vista_usuario_reclamo.GroupBy(g => g.id_vista)
                                    .Select(o => new { id_vista = o.Key, count = o.Count() }).ToList();

            List <reclamoPorUsuario> listaReclamos = new List <reclamoPorUsuario>();

            for (int i = 0; i < reclamosAgrupados.Count(); i++)
            {
                // se crea un reclamoPorUsuario por cada vuelta
                reclamoPorUsuario reclamoPorUsuario = new reclamoPorUsuario(); // el constructor va adentro del for :/
                reclamoPorUsuario.id_vista = reclamosAgrupados[i].id_vista;
                reclamoPorUsuario.count    = reclamosAgrupados[i].count;
                // se crea una vista con el idVista de esta vuelta para agregar los datos de la vista al reclamo
                vista vista = db.vista.Where(v => v.idVista == reclamoPorUsuario.id_vista).First();
                reclamoPorUsuario.id_vista_id = vista.idVista;
                reclamoPorUsuario.alumno      = vista.alumno1.nombre + vista.alumno1.apellido;
                reclamoPorUsuario.estado      = vista.estado.descripcion;
                DateTime date = vista.fechaIngreso.Value;
                reclamoPorUsuario.fecha = date.ToString("d");

                listaReclamos.Add(reclamoPorUsuario);
            }
            return(View(listaReclamos));
        }
        public ActionResult reclamoPorUsuario()
        {
            // si no comprobo su dni y se almaceno en una variable session vuelve al index a pedirle su dni
            if (System.Web.HttpContext.Current.Session["sessionStringDni"] as String == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            string idUser = User.Identity.GetUserId();

            var reclamosAgrupados = db.vista_usuario_reclamo.Where(v => v.id_usuario.Contains(idUser))
                                    .GroupBy(g => g.id_vista)
                                    .Select(o => new { id_vista = o.Key, count = o.Count() }).ToList();

            List <reclamoPorUsuario> listaReclamos = new List <reclamoPorUsuario>();

            /// construye todo el listado de reclamos por usuario
            for (int i = 0; i < reclamosAgrupados.Count(); i++)
            {
                // se crea un reclamoPorUsuario por cada vuelta
                reclamoPorUsuario reclamoPorUsuario = new reclamoPorUsuario(); // el constructor va adentro del for :/
                reclamoPorUsuario.id_vista = reclamosAgrupados[i].id_vista;
                reclamoPorUsuario.count    = reclamosAgrupados[i].count;
                // se crea una vista con el idVista de esta vuelta para agregar los datos de la vista al reclamo
                vista vista = db.vista.Where(v => v.idVista == reclamoPorUsuario.id_vista).First();
                reclamoPorUsuario.id_vista_id = vista.idVista;
                reclamoPorUsuario.alumno      = vista.alumno1.nombre + " " + vista.alumno1.apellido;
                reclamoPorUsuario.estado      = vista.estado.descripcion;
                DateTime date = vista.fechaIngreso.Value;
                reclamoPorUsuario.fecha = date.ToString("d");

                listaReclamos.Add(reclamoPorUsuario);
            }
            return(View(listaReclamos));
        }