Example #1
0
        static public List <Entidades.Bloque> buscarBloqueLista(string lote, string bloque)
        {
            List <Entidades.Bloque> bloques = new List <Entidades.Bloque>();

            Conexion.OpenConnection();
            Entidades.Bloque b = new Entidades.Bloque();

            string       query   = "Select* from bloque where idLote like @idLote AND idBloque LIKE @idBloque Order by idBloque";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idLote", lote);
            comando.Parameters.AddWithValue("@idBloque", bloque);
            MySqlDataReader reader = comando.ExecuteReader();

            while (reader.Read())
            {
                b               = new Entidades.Bloque();
                b.IdBloque      = reader.GetString("idBloque");
                b.IdLote        = reader.GetString("idLote");
                b.Area          = reader.GetDouble("area");
                b.Posicion      = reader.GetInt32("posicion");
                b.NumPlantas    = reader.GetInt32("cantPlanta");
                b.CantSecciones = reader.GetInt32("cantSecciones");
                b.Detalles      = reader.GetString("detalle");
                b.PosX          = reader.GetInt32("posX");
                b.PosY          = reader.GetInt32("posY");
                b.AreaUtilizada = reader.GetDouble("areaUtilizada");
                bloques.Add(b);
            }
            //retorna valores nulos en caso de no encontrar coincidencias
            Conexion.CloseConnection();
            return(bloques);
        }
Example #2
0
        public BotonMapa(Entidades.Bloque b)
        {
            DoubleClick += new EventHandler(DClickBloque);
            Bloque       = b;
            Seccion      = new Seccion();
            FlatAppearance.MouseOverBackColor = Color.Transparent;
            FlatAppearance.MouseDownBackColor = Color.Transparent;
            Name = "B." + Bloque.IdBloque;
            Text = "B" + Bloque.IdBloque;
            //ForeColor = Color.OrangeRed;
            Font      = new Font("Comic Sans MS", 11, FontStyle.Bold);
            TextAlign = ContentAlignment.BottomLeft;
            Location  = new Point(Bloque.PosX, Bloque.PosY);
            //Width = 40;
            //Height = 60;
            AutoSize     = true;                       //
            AutoSizeMode = AutoSizeMode.GrowAndShrink; //
            AutoEllipsis = false;                      //
            ForeColor    = Color.Black;                //

            FlatStyle = FlatStyle.Flat;
            FlatAppearance.BorderSize = 0;
            Image      = Vistas.Properties.Resources.flag__4_;
            ImageAlign = ContentAlignment.TopLeft;
            BackColor  = Color.Transparent;

            TextImageRelation = TextImageRelation.ImageBeforeText;//
        }
Example #3
0
        static public Entidades.Bloque buscarBloque(string idBloque, string idLote)
        {
            Conexion.OpenConnection();
            Entidades.Bloque b = new Entidades.Bloque();

            string       query   = "Select* from bloque Where idBloque LIKE @idBloque AND idLote LIKE @idLote";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idBloque", idBloque);
            comando.Parameters.AddWithValue("@idLote", idLote);
            comando.Prepare();
            MySqlDataReader reader = comando.ExecuteReader();

            while (reader.Read())
            {
                b.IdBloque      = reader.GetString("idBloque");
                b.IdLote        = reader.GetString("idLote");
                b.Area          = reader.GetDouble("area");
                b.AreaUtilizada = reader.GetDouble("areaUtilizada");
                b.Posicion      = reader.GetInt32("posicion");
                Conexion.CloseConnection();
                return(b);
            }
            //retorna valores nulos en caso de no encontrar coincidencias
            Conexion.CloseConnection();
            return(b);
        }
Example #4
0
 //Constructor
 public Cuestionario(Candidato cand, string claveCuest = null, PuestoEvaluado pEv = null, int maxAccess = 0, int accesos = 0, Bloque bloq = null)
 {
     clave             = claveCuest;
     nroAccesos        = accesos;
     maxAccesos        = maxAccess;
     candidatoAsociado = cand;
     puestoEvaluado    = pEv;
     ultimoBloque      = bloq;
 }
 //Constructor
 public Cuestionario(Candidato cand, string claveCuest = null, PuestoEvaluado pEv = null, int maxAccess = 0, int accesos = 0, Bloque bloq = null)
 {
     clave = claveCuest;
     nroAccesos = accesos;
     maxAccesos = maxAccess;
     candidatoAsociado = cand;
     puestoEvaluado = pEv;
     ultimoBloque = bloq;
 }
Example #6
0
        static public void eliminar(Entidades.Bloque b)
        {
            Conexion.OpenConnection();

            string       query   = "CALL eliminarBloque(@idLote, @idBloque)";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idLote", b.IdLote);
            comando.Parameters.AddWithValue("@idBloque", b.IdBloque);
            comando.Prepare();

            comando.ExecuteNonQuery();

            Conexion.CloseConnection();
        }
Example #7
0
        static public void cambiarLocation(Entidades.Bloque b)
        {
            Conexion.OpenConnection();

            string       query   = "UPDATE bloque set posX = @posX, posY = @posY WHERE idBloque = @idBloque AND idLote = @idLote";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idBloque", b.IdBloque);
            comando.Parameters.AddWithValue("@idLote", b.IdLote);
            comando.Parameters.AddWithValue("@posX", b.PosX);
            comando.Parameters.AddWithValue("@posY", b.PosY);
            comando.Prepare();
            comando.ExecuteNonQuery();

            Conexion.CloseConnection();
        }
Example #8
0
        static public bool eliminable(Entidades.Bloque b)
        {
            Conexion.OpenConnection();
            string       query   = "Select* from seccion where idLote = @idLote AND idBloque = @idBloque AND posicion >-1";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idLote", b.IdLote);
            comando.Parameters.AddWithValue("@idBloque", b.IdBloque);
            MySqlDataReader reader = comando.ExecuteReader();

            while (reader.Read())
            {
                Conexion.CloseConnection();
                return(false);
            }
            Conexion.CloseConnection();
            return(true);
        }
Example #9
0
        static public void modificar(Entidades.Bloque b)
        {
            Conexion.OpenConnection();

            string       query   = "UPDATE bloque set area = @area, detalle = @detalle, cantPlanta= @cantPlanta, posicion = @posicion WHERE idBloque = @idBloque AND idLote = @idLote";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idBloque", b.IdBloque);
            comando.Parameters.AddWithValue("@idLote", b.IdLote);
            comando.Parameters.AddWithValue("@area", b.Area);
            comando.Parameters.AddWithValue("@posicion", b.Posicion);
            comando.Parameters.AddWithValue("@detalle", b.Detalles);
            comando.Parameters.AddWithValue("@cantPlanta", b.NumPlantas);
            comando.Prepare();
            comando.ExecuteNonQuery();

            Conexion.CloseConnection();
        }
Example #10
0
        static public void insertar(Entidades.Bloque b)
        {
            Conexion.OpenConnection();

            string       query   = "insert into bloque (idBloque,idLote,area,posicion,cantPlanta,cantSecciones,posX,posY,detalle) values(@idBloque,@idLote,@area,@posicion,@cantPlanta,@cantSecciones,@posX,@posY,@detalle)";
            MySqlCommand comando = new MySqlCommand(query, Conexion.Connection);

            comando.Parameters.AddWithValue("@idBloque", b.IdBloque);
            comando.Parameters.AddWithValue("@idLote", b.IdLote);
            comando.Parameters.AddWithValue("@area", b.Area);
            comando.Parameters.AddWithValue("@posicion", b.Posicion);
            comando.Parameters.AddWithValue("@cantPlanta", b.NumPlantas);
            comando.Parameters.AddWithValue("@cantSecciones", b.CantSecciones - 1);
            comando.Parameters.AddWithValue("@posX", b.PosX);
            comando.Parameters.AddWithValue("@posY", b.PosY);
            comando.Parameters.AddWithValue("@detalle", b.Detalles);
            comando.Prepare();
            comando.ExecuteNonQuery();
            Conexion.CloseConnection();
        }
        private bool crearBloque(List<PreguntaEvaluada> listaPreguntas, int pregXbloque, Cuestionario cuest)
        {
            AdministradorBD admBD = new AdministradorBD();  //intanciacion del administrador base de datos

            bool operacionRealizadaConExito = false;

            int numBloq = 1, contadorDeBloqueCreados = 0;
            int cantidadBloques = (listaPreguntas.Count / pregXbloque);

            for (int i = 0; i < listaPreguntas.Count; )
            {
                Bloque nuevoBloque = new Bloque(numBloq, cuest);
                for (int j = 0; j < pregXbloque; j++)
                {
                    nuevoBloque.addPreguntaEv(listaPreguntas[i]);
                    i++;
                }

                contadorDeBloqueCreados += 1;
                if (numBloq == 1)
                {
                    cuest.UltimoBloque = nuevoBloque;
                }
                numBloq++;

                switch (contadorDeBloqueCreados == cantidadBloques)
                {
                    case true:
                        {
                            nuevoBloque.marcarUltimobloque();
                            bool echo = admBD.guardarBloque(nuevoBloque); // mensaje se envia al Adm de BD
                            if (echo)
                                operacionRealizadaConExito = true;
                            else
                            {
                                MessageBox.Show("\tNo se pudieron resguardar los datos de su evaluaciĆ³n\nComuniquese con su evaluador", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                operacionRealizadaConExito = false;
                            }
                        }
                        break;
                    default:
                        {
                            bool echo = admBD.guardarBloque(nuevoBloque); // mensaje se envia al Adm de BD
                            if (echo)
                                operacionRealizadaConExito = true;
                            else
                            {
                                MessageBox.Show("\tNo se pudieron resguardar los datos de su evaluaciĆ³n\nComuniquese con su evaluador", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                operacionRealizadaConExito = false;
                            }
                        }
                        break;
                }
            }
            return operacionRealizadaConExito;
        }
        public Bloque proximoBloque(Bloque bloqAnterior)
        {
            AdministradorBD admBD = new AdministradorBD();  //intanciacion del administrador base de datos
            Cuestionario cuestAsociado = bloqAnterior.CuestAsociado;

            int nroProxBloque = bloqAnterior.NroBloque;
            nroProxBloque += 1;
            Bloque proxBloque = admBD.retornarBloque(cuestAsociado, nroProxBloque);
            cuestAsociado.UltimoBloque = proxBloque; //seteo el ultimo bloque
            return proxBloque;
        }
 public Bloque instanciarBloque(int nro_Bloq, Cuestionario cuest)
 {
     Bloque nuevoBloque = new Bloque(nro_Bloq, cuest);
     return nuevoBloque;
 }
        public bool guardarBloque(Bloque nuevoBloque)
        {
            //CONSULTA QUE ACTUALIZA LA TABLA DE BLOQUES CON UNA NUEVA FILA
            string consultaSql1 = "INSERT INTO `bloque` (`nroBloque`,`Cuestionario_idCuestrionario`,`esUltimoBloque`) ";
            if (nuevoBloque.EsUltimoNloque == false)
                consultaSql1 += "VALUES (" + nuevoBloque.NroBloque + ",(SELECT idCuestionario FROM cuestionario WHERE clave = '" + nuevoBloque.CuestAsociado.Clave + "'),null);";
            else
                consultaSql1 += "VALUES (" + nuevoBloque.NroBloque + ",(SELECT idCuestionario FROM cuestionario WHERE clave = '" + nuevoBloque.CuestAsociado.Clave + "')," + nuevoBloque.EsUltimoNloque + ");";

            MySql.Data.MySqlClient.MySqlTransaction transaccion;

            bool conexionExitosa;
            int cantDeFilasAfectadas = 0;

            conexionExitosa = iniciarConexion();

            MySql.Data.MySqlClient.MySqlCommand comando1 = new MySqlCommand(), comando2 = new MySqlCommand();

            comando1.Connection = ObjConexion;
            comando1.CommandType = CommandType.Text;
            comando1.CommandTimeout = 0;
            comando1.CommandText = consultaSql1;

            comando2.Connection = ObjConexion;
            comando2.CommandType = CommandType.Text;
            comando2.CommandTimeout = 0;

            transaccion = ObjConexion.BeginTransaction();

            try
            {
                if (!conexionExitosa)
                    return false;

                comando1.Transaction = transaccion;
                comando2.Transaction = transaccion;

                cantDeFilasAfectadas += comando1.ExecuteNonQuery();

                for (int i = 0; i < nuevoBloque.ListaPreguntasEv.Count; i++)
                {
                    PreguntaEvaluada preguntaAsociada = nuevoBloque.ListaPreguntasEv[i];
                    //CONSULTA QUE ACTUALIZA LA TABLA DE ITEM_BLOQUE CON NUEVAS FILAS PARA ASOCIAR LAS PREGUNTAS A LOS BLOQUES
                    string consultaSql2 = "INSERT INTO item_bloque (`Bloque_idBloque`,`PreguntaEvaluada_idPreguntaEv`,`Opcion Evaluada_idOpcion_seleccionada`) "
                        + "VALUES ((SELECT idBloque FROM bloque AS b "
                        + "JOIN cuestionario AS c ON (b.Cuestionario_idCuestrionario = c.idCuestionario AND c.clave = '" + nuevoBloque.CuestAsociado.Clave + "') "
                        + "WHERE b.nroBloque = " + nuevoBloque.NroBloque + "),"
                        + "(SELECT `idPregunta Evaluada` FROM `pregunta evaluada` AS p_ev "
                        + "JOIN `factor evaluado` AS f_ev ON (f_ev.`idFactor Evaluado` = p_ev.`Factor Evaluado_idFactor Evaluado`) "
                        + "JOIN `opcion de respuesta evaluada` AS opR ON (opR.`idOpcion de Respuesta Evaluada` = p_ev.`Opcion de Respuesta Evaluada_idOpcion de Respuesta Evaluada`) "
                        + "WHERE p_ev.codigo = '" + preguntaAsociada.Codigo + "'),null);";

                    comando2.CommandText = consultaSql2;

                    cantDeFilasAfectadas += comando2.ExecuteNonQuery();
                }

                transaccion.Commit();
                terminarConexion();

            }

            catch (MySqlException MysqlEx)
            {
                // si algo fallo deshacemos todo
                transaccion.Rollback();
                // mostramos el mensaje del error
                MessageBox.Show("RESGUARDO DE BLOQUES: La transaccion no se pudo realizar: " + MysqlEx.Message);

            }
            catch (DataException Ex)
            {
                // si algo fallo deshacemos todo
                transaccion.Rollback();
                // mostramos el mensaje del error
                MessageBox.Show("RESGUARDO DE BLOQUES: La transaccion no se pudo realizar: " + Ex.Message);

            }

            if (cantDeFilasAfectadas > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }