/* * - RecuperarCompetenciasEvaludas tiene la misión de recuperar una competencia evaluada según su ID * que corresponde a la BASE DE DATOS */ public List<CompetenciaEvaluada> recuperarCompetenciasEvaluadas(int idCompetenciaEv) { bool conexionExitosa; GestorEvaluacion gestorEvaluacion = new GestorEvaluacion(); List<CompetenciaEvaluada> listaDeCompetencias = new List<CompetenciaEvaluada>();//Para el retorno de datos string consultaSql = "SELECT * FROM `competencia evaluada` WHERE `competencia evaluada`.`idCompetencia Evaluada` ='" + idCompetenciaEv + "';"; 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 puesto no posee competencias para ser evaluado"); terminarConexion(); return null; } while (reader.Read()) { //Verificamos que la competencia no este eliminada CompetenciaEvaluada competenciaEv; if (reader["eliminado"].ToString() == "") { string cod = reader["codigo"].ToString(); string nomComp = reader["nombre"].ToString(); string descrip = reader["descripcion"].ToString(); //Si no fue eliminada, la instaciamos con el gestor de evaluacion con los datos obtenidos competenciaEv = gestorEvaluacion.instanciarCompetenciaEvaluda(cod, nomComp, descrip); } else//Si fue eliminada, instanciamos una competencia con el atrubuto 'codigo' inicializado en ELIMINADA competenciaEv = gestorEvaluacion.instanciarCompetenciaEvaluda("ELIMINADA", null, null); listaDeCompetencias.Add(competenciaEv); } terminarConexion(); //Agregamos la lista de Factores para cada una de las competencias encontradas for (int i = 0; i < listaDeCompetencias.Count; i++) { //Recuperamos los factores asociados a la competencia List<FactorEvaluado> factoresList = recuperarFactoresEvaluados(listaDeCompetencias[i]); if (factoresList != null) { for (int j = 0; j < factoresList.Count; j++) { //Para la competencia Evaluada que esta resguardada en la posición i //le agregamos a su lista de factores, el factor evaluado que se encentre en la posición j listaDeCompetencias[i].addFactor(factoresList[j]); } } } return listaDeCompetencias; }
public List<CompetenciaEvaluada> competencias_segun_puesto(DateTime fecha_ev, string codigo_ev) { bool conexionExitosa; GestorEvaluacion gestor_de_Evaluacion = new GestorEvaluacion(); List<CompetenciaEvaluada> listaCompetenciasEvaluadas = new List<CompetenciaEvaluada>(); string fecha_formateada = this.formatear_fecha(fecha_ev); string consultaSql = "SELECT ponderacion , codigo, nombre " + " FROM `puesto evaluado_competencia evaluada` pe_ce " + " JOIN `competencia evaluada` comp_ev on (`idCompetencia Evaluada` = `Competencia Evaluada_idCompetencia Evaluada`) " + " WHERE `Puesto Evaluado_idPuesto Evaluado` = (SELECT DISTINCT `idPuesto Evaluado` " + " FROM candidato cand " + " JOIN cuestionario cuest on (idCandidato = Candidato_idCandidato) " + " JOIN cuestionario_estado cuest_estado on (idCuestionario = Cuestionario_idCuestionario) " + " JOIN `puesto evaluado` puesto_ev on (`idPuesto Evaluado` =`Puesto Evaluado_idPuesto Evaluado`) " + " WHERE puesto_ev.codigo = '" + codigo_ev + "' AND fecha = '" + fecha_formateada + "');"; //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; } //Creamos un adaptador llamado "comando" para realizar la consultaSql que definimos mas arriba MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql;//En el adaptador comando hacemos un asignacion en su atributo CommandText de la 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 existen competencias asociadas a esta evaluacion[Imposible!]"); terminarConexion(); return null; } while (reader.Read()) { string codigo = reader["codigo"].ToString(); string nombre = reader["nombre"].ToString(); int ponderacion = Int32.Parse(reader["ponderacion"].ToString()); CompetenciaEvaluada competencia_ev = gestor_de_Evaluacion.instanciarCompetenciaEvaluda(codigo, nombre); competencia_ev.Ponderacion = ponderacion; listaCompetenciasEvaluadas.Add(competencia_ev); } terminarConexion(); return listaCompetenciasEvaluadas; }