コード例 #1
0
        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;
        }
コード例 #2
0
        /*
         * - 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;
        }