public List<PuestoEvaluado> recuperarPuestos_ev(string codigo) { bool conexionExitosa; GestorEvaluacion gestorPuestos = new GestorEvaluacion(); List<PuestoEvaluado> listaDePuestos_ev = new List<PuestoEvaluado>(); //para el retorno de datos List<Int32> lista_de_ID_Puesto_ev = new List<Int32>(); string consultaSql = "SELECT DISTINCT `idPuesto Evaluado`, codigo, nombre, empresa, fecha " + "FROM `puesto evaluado` pu_ev " + "JOIN cuestionario cuest on (pu_ev.codigo = '" + codigo + "' AND pu_ev.`idPuesto evaluado` = cuest.`Puesto Evaluado_idPuesto Evaluado`) " + "JOIN `cuestionario_estado` c_est on (cuest.idCuestionario = c_est.Cuestionario_idCuestionario) " + "WHERE Estado_idEstado = 1 " + "GROUP BY `idPuesto Evaluado`"; //llamamos al metodo "iniciar conexion" conexionExitosa = iniciarConexion(); //Evaluamos si la conexion se realizo con exito if (!conexionExitosa) { MessageBox.Show("No se pudo realizar la conexión con la Base de Datos"); terminarConexion(); return null; } //Creamos un adaptador llamado "comando" para realizar la consultaSql que definimos mas arriba MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); //En el adaptador comando hacemos un asignacion en su atributo CommandText de la consultaSql comando.CommandText = consultaSql; //Se hace la ejecucion del comando con el metodo ExecuterReader //y se lo asigna a una variable reader que contendra los resultados de la busqueda en la base de datos MySqlDataReader reader = comando.ExecuteReader(); if (!reader.HasRows) { //si el reader esta vacio, es que no se encontraron datos para la consulta realizada MessageBox.Show("No se encontro ningún puesto"); terminarConexion(); return null; } //Si el reader contiene datos, se realiza la lectura de todos los ellos. while (reader.Read()) { PuestoEvaluado objPuestoEv; string id_puesto_ev = reader[0].ToString(); string cod = reader["codigo"].ToString(); string nomPuesto = reader["nombre"].ToString(); string emp = reader["empresa"].ToString(); DateTime fecha = (DateTime)reader["fecha"]; //Llamamos al gestor de puestos para instanciar el puesto que se obtuvo de la base de datos objPuestoEv = gestorPuestos.instanciarPuestoEvaluado(cod, nomPuesto, emp); objPuestoEv.Fecha_Comienzo = fecha; //El retorno del metodo del gestor es introducido en la lista de puestos listaDePuestos_ev.Add(objPuestoEv); } terminarConexion(); return listaDePuestos_ev; }
/* * - RecuperarPuestoEvaluado tiene la misión de recuperar un puesto evaluado puntual * según su id de la tabla de la base de datos */ public PuestoEvaluado recuperarPuestoEvaluado(int idPuestoEv) { bool conexionExitosa; GestorEvaluacion gestorEvaluados = new GestorEvaluacion(); PuestoEvaluado objPuesto = null; DateTime fecha_evaluacion = this.recuperarFechadeComienzoEvaluacion(idPuestoEv); string consultaSql = "SELECT * FROM `puesto evaluado` WHERE `idPuesto Evaluado` = " + idPuestoEv + " ;"; //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 MessageBox.Show("No se encontro un candidato solicitado "); terminarConexion(); return null; } else { while (reader.Read()) { if (reader["eliminado"].ToString() == "") { string codigo = reader["codigo"].ToString(); string nombrePuestoEv = reader["nombre"].ToString(); string empresa = reader["empresa"].ToString(); //Usamos el gestor de evaluacion para instanciar el puesto evaludado con los datos encontrados en la base de datos objPuesto = gestorEvaluados.instanciarPuestoEvaluado(codigo, nombrePuestoEv, empresa); objPuesto.Fecha_Comienzo = fecha_evaluacion; } else { //Si el puesto evaludado fue eliminado se instanciara un puesto cuyo codigo sera "ELIMINADO" objPuesto = gestorEvaluados.instanciarPuestoEvaluado("ELIMINADO", " ", " "); } } } terminarConexion(); return objPuesto; }