//param i: variable de regla simple public double getDato(int i, DatosUsuario du) { IQueryable <DatoSimple> ds; if (i < 8) // Variables de Texto { ds = (from d in db.DatosSimples where d.DatosUsuarioID == du.DatosUsuarioID && d.CodeOP == i && d.TextoID == du.TextoID select d); } else // Variables de Pregunta { ds = (from d in db.DatosSimples where d.DatosUsuarioID == du.DatosUsuarioID && d.CodeOP == i && d.PreguntaID == du.PreguntaID && d.TextoID == du.TextoID select d); } switch (i) // Todo se calcula a nivel de pregunta y no como computo global de todas las preguntas. Las variables de texto van a parte... { /****************************************************************************************** * **************************************************************************************** * ****** I = codeop en https://docs.google.com/spreadsheets/d/1YLiGMUn1XTluUPOgGNVYMQW2JUUyGxm-euywYARER6Y/ * **************************************************************************************** * ****************************************************************************************/ case 5: // Lectura inicial return(ds.ToList().LastOrDefault() != null ? (Convert.ToDouble(ds.ToList().LastOrDefault().Info) / 1000.0) : -1.0); case 6: return(ds.ToList().LastOrDefault() != null?Convert.ToDouble(ds.ToList().LastOrDefault().Info) : -1.0); case 9: // Intento de pregunta if (ds.ToList().Count > 0) { return(2.0); } else { return(-1.0); } case 13: //CODIGO ORIGNAL DE CASE13 //return ds.ToList().LastOrDefault() != null ? Convert.ToDouble(ds.ToList().LastOrDefault().Dato01) : -1.0; //DEVUELVE ALGO ASÍ COMO EL PORCENTAJE DE ACIERTO EN PREGUNTAS DE TEST SOBRE EL MÓDULO ACTUAL. PARECE INUTILIZABLE //return 0 -> error //return 1 -> acierto return(Convert.ToDouble(ds.ToList().LastOrDefault().Info2)); case 16: // Número de lecturas de enunciado return(Convert.ToDouble(ds.ToList().Count)); case 17: // Número de lecturas de alternativas return(Convert.ToDouble(ds.ToList().Count)); case 24: // Número de búsquedas return(Convert.ToDouble(ds.ToList().Count)); case 34: // Número de Ayudas Parafraseo return(Convert.ToDouble(ds.ToList().Count)); case 48: return(0); case 49: return(0); case 50: //porcentaje de acierto en la selección return(ds.ToList().Last().Dato01); case 51: //porcentaje de distractoras en la selección return(ds.ToList().Last().Dato01); case 52: if (ds.ToList().Count > 0) { return(1.0); } else { return(0.0); } case 53: return(ds.ToList().Last().Dato01); case 54: return(ds.ToList().Last().Dato01); case 55: return(ds.ToList().Last().Dato01); case 56: return(ds.ToList().Last().Dato01); case 58: return(ds.ToList().Last().Dato01); default: return(0); } }