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