public PreguntaEvaluada(string cod_, string preg_, string nom_, FactorEvaluado fact_, OpciondeRespuestaEvaluada Op_res_Ev = null, string des = null)
 {
     this.Codigo = cod_;
     this.Pregunta = preg_;
     this.FactorAsociado = fact_;
     this.Nombre = nom_;
     this.Descripcion = des;
     this.Op_respuestaEv = Op_res_Ev;
     this.ListaOpcionesEv = new List<OpcionesEvaluadas>();
 }
 public void addFactor(FactorEvaluado fact)
 {
     listaFactores.Add(fact);
 }
        public PreguntaEvaluada instanciarPreguntaEvaluda(string codigo, string pregunta_, string nombre, FactorEvaluado factorAsocido, OpciondeRespuestaEvaluada OpcRespuesta = null, string descripcion = null)
        {
            PreguntaEvaluada nuevaPreguntaEv = new PreguntaEvaluada(codigo, pregunta_, nombre, factorAsocido, OpcRespuesta, descripcion);

            return(nuevaPreguntaEv);
        }
        public FactorEvaluado instanciarFactorEvaluado(string codigo, string nombre, CompetenciaEvaluada competenciaAsociada, int nrOrden, string descripcion = null)
        {
            FactorEvaluado nuevoFactorEv = new FactorEvaluado(codigo, nombre, competenciaAsociada, nrOrden, descripcion);

            return(nuevoFactorEv);
        }
        /*
         * - RecuperarPreguntas evaluadas tiene la misión de recuperar Las preguntas evaluadas para Un factor puntual
         *   de a la BASE DE DATOS
         */
        public List<PreguntaEvaluada> recuperarPreguntasEvaluadas(FactorEvaluado factorAsociado)
        {
            bool conexionExitosa;
            GestorEvaluacion gestorEvaluacion = new GestorEvaluacion();
            List<PreguntaEvaluada> listaDePreguntas = new List<PreguntaEvaluada>();

            string consultaSql = "SELECT p.nombre , p.codigo, p.pregunta, p.`Opcion de Respuesta Evaluada_idOpcion de Respuesta Evaluada` "
                + "FROM `pregunta evaluada` AS p "
                + "JOIN `factor evaluado` AS fac on (p.`Factor Evaluado_idFactor Evaluado` = fac.`idFactor Evaluado`) "
                + "WHERE  fac.`codigo` = '" + factorAsociado.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)
            { //si el reader esta vacio, es qe no encontro a ese candidato
                MessageBox.Show("El factor no posee preguntas para ser evaluado");
                terminarConexion();
                return null;
            }

            List<int> listaIdOpRespuesta = new List<int>();
            while (reader.Read())
            {
                string cod = reader["codigo"].ToString();
                string nomPreg = reader["nombre"].ToString();
                string preg = reader["pregunta"].ToString();
                int idOpRespuesta = Int32.Parse(reader["Opcion de Respuesta Evaluada_idOpcion de Respuesta Evaluada"].ToString());

                PreguntaEvaluada preguntaEv = gestorEvaluacion.instanciarPreguntaEvaluda(cod, preg, nomPreg, factorAsociado);
                listaDePreguntas.Add(preguntaEv);
                listaIdOpRespuesta.Add(idOpRespuesta);
            }
            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++)
            {
                //Se recuperan la opcion de respuesta de la pregunta
                List<OpciondeRespuestaEvaluada> opcionesRespuesta = recuperarOpcionRespuestaEvaluada(listaIdOpRespuesta[i]);
                if (opcionesRespuesta != null)
                {
                    //Recuperamos la opcion que contiene la poneracion para esa pregunta
                    List<OpcionesEvaluadas> opciones = recuperarOpcionesEvaluadas(listaDePreguntas[i]);
                    //Completamos el objeto Opciones_de_respuestas_evaludas con la lista de opciones
                    opcionesRespuesta[0].ListaOpcionesEv = opciones;

                    //Realizamos la asignacion de la opcion de respuesta y las opciones corespondientes para la pregunta
                    listaDePreguntas[i].Op_respuestaEv = opcionesRespuesta[0];
                    listaDePreguntas[i].ListaOpcionesEv = opciones;
                }
            }

            return listaDePreguntas;
        }
 public PreguntaEvaluada instanciarPreguntaEvaluda(string codigo, string pregunta_, string nombre, FactorEvaluado factorAsocido, OpciondeRespuestaEvaluada OpcRespuesta = null, string descripcion = null)
 {
     PreguntaEvaluada nuevaPreguntaEv = new PreguntaEvaluada(codigo, pregunta_, nombre, factorAsocido, OpcRespuesta, descripcion);
     return nuevaPreguntaEv;
 }
 public FactorEvaluado instanciarFactorEvaluado(string codigo, string nombre, CompetenciaEvaluada competenciaAsociada, int nrOrden, string descripcion = null)
 {
     FactorEvaluado nuevoFactorEv = new FactorEvaluado(codigo, nombre, competenciaAsociada, nrOrden, descripcion);
     return nuevoFactorEv;
 }