public Pregunta(string preg, string nom, Factor fact, OpciondeRespuesta op_res = null, string des = null) { Preg_aRealizar = preg; FactorAsociado = fact; Nombre = nom; Descripcion = des; OpcionRespuesta_Asociada = op_res; ListaOpciones = new List<Opciones>(); }
public void addFactor(Factor fact) { listaFactores.Add(fact); }
/* * La mision que justifica la existencia de los gestores es hacer de "interfaz" entre las ENTIDADES y el resto del sistema * Por esto el gestor debe tener la responsabilidad de instanciar la/s que le corresponde gestionar */ public Pregunta instanciarPregunta(string pregunta_, string nombre, Factor factorAsociado, OpciondeRespuesta opcionRes_Asociada = null, string descripcion = null) { Pregunta nuevoPregunta = new Pregunta(pregunta_, nombre, factorAsociado, opcionRes_Asociada, descripcion); return nuevoPregunta; }
/* * La mision que justifica la existencia de los gestores es hacer de "interfaz" entre las ENTIDADES y el resto del sistema * Por esto el gestor debe tener la responsabilidad de instanciar la/s que le corresponde gestionar */ public Factor instanciarFactor(string codigo, string nombre, Competencia competenciaAsociada, string descripcion = null, int nrOrden = 0) { Factor nuevoFactor = new Factor(codigo, nombre, competenciaAsociada, descripcion, nrOrden); return nuevoFactor; }
/* * - RecuperarPreguntas evaluadas tiene la misión de recuperar Las preguntas evaluadas para Un factor puntual * de a la BASE DE DATOS */ public List<Pregunta> recuperarPreguntas(Factor factorAsociado) { bool conexionExitosa; GestorPreguntas gestorPreguntas = new GestorPreguntas(); List<Pregunta> listaDePreguntas = new List<Pregunta>(); string consultaSql = "SELECT p.nombre, p.codigo, p.pregunta, p.`Opcion_de_respuesta` " + "FROM `pregunta` AS p " + "JOIN `factor` AS fac on (fac.`codigo` = '" + factorAsociado.Codigo + "' AND p.Factor_codigo = fac.codigo);"; conexionExitosa = iniciarConexion(); if (!conexionExitosa) { MessageBox.Show("No se realizo la conexion con la base de datos"); terminarConexion(); return null; } MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql; MySqlDataReader reader = comando.ExecuteReader(); if (!reader.HasRows) { terminarConexion(); return null; } List<string> Listacodigo_OpRespuesta = new List<string>(); while (reader.Read()) { string cod = reader["codigo"].ToString(); string nomPreg = reader["nombre"].ToString(); string preg = reader["pregunta"].ToString(); string codigo_OpRespuesta = reader["Opcion_de_respuesta"].ToString(); Listacodigo_OpRespuesta.Add(codigo_OpRespuesta); Pregunta pregunta = gestorPreguntas.instanciarPregunta(preg, nomPreg, factorAsociado); listaDePreguntas.Add(pregunta); } terminarConexion(); //Agregamos la listas de Opciones de respuesta y las opciones para cada una de las preguntas encontradas for (int i = 0; i < listaDePreguntas.Count; i++) { List<Opciones> opciones = new List<Opciones>(); //Se recuperan la opcion de respuesta de la pregunta OpciondeRespuesta opcionesRespuesta = recuperarOpcionRespuesta(Listacodigo_OpRespuesta[i]); if (opcionesRespuesta != null) { //Recuperamos la opcion que contiene la poneracion para esa pregunta opciones = recuperarOpciones(listaDePreguntas[i]); //Completamos el objeto Opciones_de_respuestas_evaludas con la lista de opciones opcionesRespuesta.ListaOpciones = opciones; //Realizamos la asignacion de la opcion de respuesta y las opciones corespondientes para la pregunta listaDePreguntas[i].OpcionRespuesta_Asociada = opcionesRespuesta; listaDePreguntas[i].ListaOpciones = opciones; } } return listaDePreguntas; }