/* * ==================================== * METODOS DE RECUPERACION DE ENTIDADES * ==================================== * - Tiene la finalidad de recuperar los datos de la BASE DE DATOS segun algún criterio de busqueda * - Retornaran una lista de objetos que se obtuvieron de dicha busqueda (si los hubiere) * - De no encontrar un datos o de no poderse realizar la conexion se expondra error y se retornara 'NULL' */ /* * - RecuperarPuestos tiene la misión de recuperar los datos de los puestos según un criterion de busqueda */ /* * =========================================================================== * FUNCION QUE SE ENCARGA DE RECUPERAR LOS DATOS DE LOS PUESTOS QUE CONCUERDEN * CON LOS FILTROS DE BUSQUEDA Y NO SE ENCUENTREN ELIMINADOS * =========================================================================== */ public List<Puesto> recuperarPuestos(string codigo = null, string nombreDePuesto = null, string empresa = null) { bool conexionExitosa; GestorPuesto gestorPuestos = new GestorPuesto(); List<Puesto> listaDePuestos = new List<Puesto>(); //para el retorno de datos string consultaSql = "SELECT * " + "FROM puesto " + "WHERE `codigo` LIKE '%" + codigo + "%'" + " AND `nombre` LIKE '%" + nombreDePuesto + "%'" + " AND `empresa` LIKE '%" + empresa + "%';"; //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()) { Puesto objPuesto; if (reader["eliminado"].ToString() == "") { string cod = reader["codigo"].ToString(); string nomPuesto = reader["nombre"].ToString(); string emp = reader["empresa"].ToString(); //Llamamos al gestor de puestos para instanciar el puesto que se obtuvo de la base de datos objPuesto = gestorPuestos.instanciarPuesto(cod, nomPuesto, emp); //El retorno del metodo del gestor es introducido en la lista de puestos listaDePuestos.Add(objPuesto); } } terminarConexion(); return listaDePuestos; }
/* * ==================================== * METODOS DE RETORNO DE DATOS PUNTALES * ==================================== * - Tiene la finalidad de BUSCAR y RETORNAR datos de la fuente según algun criterio */ public Puesto existePuesto(string codigo = null, string nombreDePuesto = null) { bool conexionExitosa; bool bandera = false; Puesto objPuesto; GestorPuesto gestorPuesto = new GestorPuesto(); string consultaSql = "SELECT * FROM puesto WHERE `codigo` = '" + codigo + "' OR `nombre` = '" + nombreDePuesto + "';"; conexionExitosa = iniciarConexion(); if (!conexionExitosa) return null; MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql; MySqlDataReader reader = comando.ExecuteReader(); objPuesto = gestorPuesto.instanciarPuesto(null, null, null); while (reader.Read() && !bandera) { string cod = reader["codigo"].ToString(); string nomPuesto = reader["nombre"].ToString(); if ((codigo == cod) || (nombreDePuesto == nomPuesto)) { objPuesto = gestorPuesto.instanciarPuesto(cod, nomPuesto, null); } else objPuesto = gestorPuesto.instanciarPuesto(null, null, null); } terminarConexion(); return objPuesto; }
/* * RecuperarPuesto tiene la misión de recuperar los datos de un puesto puntual */ public Puesto recuperarPuesto(string codigo) { bool conexionExitosa; GestorPuesto gestorPuestos = new GestorPuesto(); string consultaSql = "SELECT * " + "FROM puesto " + "WHERE `codigo` = '" + codigo + "';"; conexionExitosa = iniciarConexion(); if (!conexionExitosa) return null; MySql.Data.MySqlClient.MySqlCommand comando; comando = ObjConexion.CreateCommand(); comando.CommandText = consultaSql; MySqlDataReader reader = comando.ExecuteReader(); Puesto objPuesto; if (reader.Read()) { if ((reader["eliminado"].ToString()) == "") { string cod = reader["codigo"].ToString(); string nomPuesto = reader["nombre"].ToString(); string emp = reader["empresa"].ToString(); string desc = reader["descripcion"].ToString(); objPuesto = gestorPuestos.instanciarPuesto(cod, nomPuesto, emp, desc); } else objPuesto = gestorPuestos.instanciarPuesto("ELIMINADO", null, null); } else objPuesto = gestorPuestos.instanciarPuesto(null, null, null); terminarConexion(); return objPuesto; }