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)); }