public async Task <ActionResult <IEnumerable <EvaluacionInfo> > > GetResultados() { //ActionResult<IEnumerable<EvaluacionInfo>> // el parametro 0 indica que se obtendran todas las evaluaciones var info = await obtenerDetalleEvaluaciones(0); var infoAgrupada = info .GroupBy(consulta => new { idRespuesta = consulta.idRespuesta, documento = consulta.documento, fechaInicio = consulta.fechaInicio, fechaFinal = consulta.fechaFinal, entidad = consulta.entidad, encuestado = consulta.encuestado, cargo = consulta.cargo, correo = consulta.correo, telefono = consulta.telefono }); var respuestaFinal = new List <EvaluacionInfo>(); foreach (var grupo in infoAgrupada) { var respuesta = new EvaluacionInfo { idRespuesta = grupo.Key.idRespuesta, documento = grupo.Key.documento, fechaInicio = grupo.Key.fechaInicio, fechaFinal = grupo.Key.fechaFinal, entidad = grupo.Key.entidad, encuestado = grupo.Key.encuestado, cargo = grupo.Key.cargo, correo = grupo.Key.correo, telefono = grupo.Key.telefono }; respuestaFinal.Add(respuesta); } ; return(respuestaFinal); }
public async Task <ActionResult <EvaluacionInfo> > GetResultado(int id) { var existeRespuesta = await _context.Respuestas.FindAsync(id); if (existeRespuesta == null) { return(NotFound()); } var info = await obtenerDetalleEvaluaciones(id); var infoAgrupada = info .GroupBy(consulta => new { idRespuesta = consulta.idRespuesta, documento = consulta.documento, fechaInicio = consulta.fechaInicio, fechaFinal = consulta.fechaFinal, entidad = consulta.entidad, encuestado = consulta.encuestado, cargo = consulta.cargo, correo = consulta.correo, telefono = consulta.telefono }).FirstOrDefault(); var respuestaFinal = new EvaluacionInfo { idRespuesta = infoAgrupada.Key.idRespuesta, documento = infoAgrupada.Key.documento, fechaInicio = infoAgrupada.Key.fechaInicio, fechaFinal = infoAgrupada.Key.fechaFinal, entidad = infoAgrupada.Key.entidad, encuestado = infoAgrupada.Key.encuestado, cargo = infoAgrupada.Key.cargo, correo = infoAgrupada.Key.correo, telefono = infoAgrupada.Key.telefono }; return(respuestaFinal); }