/* * - RecuperarCompetencias tiene la misión de recuperar una competencia según su codigo * que corresponde a la BASE DE DATOS */ public Competencia recuperarCompetencias(string codigoCompetencia) { bool conexionExitosa; GestorCompetencias gestorCompetencias = new GestorCompetencias(); Competencia competencia_obtenida = null;//Para el retorno de datos string consultaSql = "SELECT * FROM `competencia` AS comp " + "WHERE comp.codigo = '" + codigoCompetencia + "';"; 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 terminarConexion(); return null; } while (reader.Read()) { string nomComp = reader["nombre"].ToString(); //Verificamos que la competencia no este eliminada if (reader["eliminado"].ToString() == "") { string cod = reader["codigo"].ToString(); string descrip = reader["descripcion"].ToString(); //Si no fue eliminada, la instaciamos con el gestor de evaluacion con los datos obtenidos competencia_obtenida = gestorCompetencias.instanciarCompetencia(cod, nomComp, descrip); } else//Si fue eliminada, instanciamos una competencia con el atrubuto 'codigo' inicializado en ELIMINADA competencia_obtenida = gestorCompetencias.instanciarCompetencia("ELIMINADA", nomComp, null); } terminarConexion(); //Agregamos la lista de Factores para cada una de las competencias encontradas //Recuperamos los factores asociados a la competencia List<Factor> factoresList = recuperarFactores(competencia_obtenida); competencia_obtenida.ListaFactores = factoresList; return competencia_obtenida; }
/* * - RecuperarCompetencias tiene la misión de recuperar todas las competencias que estan activas (no eliminadas) * de la base de datos */ public List<Competencia> recuperarCompetencias() { bool conexionExitosa; GestorCompetencias gestorCompetencias = new GestorCompetencias(); List<Competencia> listaDeCompetencias = new List<Competencia>();//Para el retorno de datos string consultaSql = "SELECT * FROM competencia;"; //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; } while (reader.Read()) { Competencia nuevaCompetencia; //Contemplamos la posibilidad de que este eliminada la competencia if (reader["eliminado"].ToString() == "") { string cod = reader["codigo"].ToString(); string nomComp = reader["nombre"].ToString(); string descrip = reader["descripcion"].ToString(); //Si esta en condiciones de ser usada, se instancia una nueva competencia con los datos nuevaCompetencia = gestorCompetencias.instanciarCompetencia(cod, nomComp, descrip, null); } else//Si fue eliminada se instancia una competencia con el codigo indicando esta situación nuevaCompetencia = gestorCompetencias.instanciarCompetencia("ELIMINADA", null, null, null); listaDeCompetencias.Add(nuevaCompetencia); } return listaDeCompetencias; }