/* * 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; }
public void addPregunta(Pregunta preg) { listaPreguntas.Add(preg); }
/* * - RecuperarOpcionesEvaludas tiene la misión de recuperar las opciones evaluadas para una pregunta puntual * de a la BASE DE DATOS */ public List<Opciones> recuperarOpciones(Pregunta pregAsociada) { bool conexionExitosa; GestorOpRespuesta gestionOpciones = new GestorOpRespuesta(); List<Opciones> listaDeOpciones = new List<Opciones>();//Para el retorno de datos string consultaSql = "SELECT DISTINCT op.nombre, pr_op.ponderacion, opr_op.ordenDeVisualizacion " + "FROM `pregunta_opciones` AS pr_op " + "JOIN `pregunta` AS pr on (pr_op.Pregunta_codigo = pr.codigo AND pr.nombre = '" + pregAsociada.Nombre + "' AND pr.pregunta = '" + pregAsociada.Preg_aRealizar + "') " + "JOIN `opciones` op on (pr_op.Opciones_idopciones = op.idopciones) " + "JOIN `opcion de respuesta_opciones` opr_op on (pr_op.Opciones_idopciones = opr_op.Opciones_idopciones) " + "GROUP BY nombre;"; //llamamos al metodo "iniciar conexion" conexionExitosa = iniciarConexion(); //Evaluamos si la conexion se realizo con exito if (!conexionExitosa) { MessageBox.Show("Fallo 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) { //si el reader esta vacio, es qe no encontro a ese candidato terminarConexion(); return null; } while (reader.Read()) { //opc.nombre, opR_opc.ordenDeVisualizacion, pr.`idPregunta Evaluada` string nomOpcion = reader["nombre"].ToString(); int ponderacion = Int32.Parse(reader["ponderacion"].ToString()); int ordenVisualizacion = Int32.Parse(reader["ordenDeVisualizacion"].ToString()); Opciones preguntaEv = gestionOpciones.instanciarOpcion(nomOpcion, ponderacion, ordenVisualizacion); listaDeOpciones.Add(preguntaEv); } terminarConexion(); return listaDeOpciones; }