Example #1
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count == 0)
            {
                MessageBox.Show("Debe haber al menos un registro mostrado para poder imprimir.");
                return;
            }
            var respuesta = MessageBox.Show("¿Desea imprimir solo los registros mostrados?", "Informacion", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

            if (respuesta == DialogResult.Yes)
            {
                frmCrudImprimir = new FrmCrudImprimir(tabla, query, false);
            }
            else if (respuesta == DialogResult.No)
            {
                frmCrudImprimir = new FrmCrudImprimir(tabla, Funciones.GetQuery(tabla, 0, status, like), true);
            }
            else
            {
                return;
            }
            frmCrudImprimir.ShowDialog();
        }
Example #2
0
        public void btnBuscar_Click(object sender, EventArgs e)
        {
            if (txtBuscar.Text != "" && (txtBuscar.Text.Contains("=") || txtBuscar.Text.Contains("+") || txtBuscar.Text.Contains("-") || txtBuscar.Text.Contains(",")))
            {
                bool   contiene = false;
                string columna  = "";
                operadores = 0;
                parametros = txtBuscar.Text.Trim().Split(',').ToList <string>();

                foreach (string parametro in parametros)
                {
                    foreach (char operador in parametro)
                    {
                        if (operador == '+' || operador == '-' || operador == '=')
                        {
                            operadores++;
                        }
                    }
                }

                if (parametros.Count != operadores)
                {
                    lblError.Text    = "¡Error! Cantidad no válida de operadores.";
                    lblError.Visible = true;
                    return;
                }

                foreach (string parametro in parametros)
                {
                    contiene = false;
                    valores  = parametro.Split(separadores).ToList <string>();
                    columna  = valores[0];
                    for (int i = 0; i < dataGridView1.Columns.Count; i++)
                    {
                        if (dataGridView1.Columns[i].Name == valores[0])
                        {
                            contiene = true;
                            break;
                        }
                    }

                    if (!contiene)
                    {
                        break;
                    }
                    contiene = false;
                }

                if (contiene)
                {
                    lblError.Text    = "¡Error! La columna " + columna + " no existe.";
                    lblError.Visible = true;
                    return;
                }
            }
            lblError.Visible = false;
            status           = cmbMostrar.SelectedIndex;
            if (txtBuscar.Text.ToLower() == "!nocompletos" && tabla == "Prestamos")
            {
                ds = Conexion.MySQL(@"SELECT Tabla.ID,Tabla.Alumno,Tabla.Maestro,Tabla.Laboratorio,Tabla.Asignatura,Tabla.Usuario,Tabla.Entrega,Tabla.Creado,Tabla.Actualizado FROM 
                                    (SELECT 
                                    prestamos.id ID, 
                                    CONCAT(alumnos.nombre,' ',alumnos.apellidop,' ', alumnos.apellidom) Alumno, 
                                    CONCAT(maestros.nombre,' ',maestros.apellidop,' ', maestros.apellidom) Maestro, 
                                    laboratorios.laboratorio Laboratorio,
                                    asignaturas.asignatura Asignatura,
                                    usuarios.usuario Usuario,
                                    prestamos.fecha_fin Entrega,
                                    prestamos.created_at Creado,
                                    prestamos.updated_at Actualizado, 
                                    prestamos.status
                                    FROM 
                                    prestamos
                                    INNER JOIN alumnos ON prestamos.alumno = alumnos.id 
                                    INNER JOIN maestros ON prestamos.maestro = maestros.id 
                                    INNER JOIN laboratorios ON prestamos.laboratorio = laboratorios.id
                                    INNER JOIN asignaturas ON prestamos.asignatura = asignaturas.id 
                                    INNER JOIN usuarios ON prestamos.usuario = usuarios.id) as Tabla
                                    INNER JOIN
                                    (
                                    SELECT 
                                    DISTINCT(prestamos.id), 
                                    prestamos.status AS statusPrestamos, 
                                    detalles.status AS statusDetalles
                                    FROM 
                                    prestamos 
                                    INNER JOIN 
                                    detalles 
                                    ON 
                                    detalles.prestamo = prestamos.id 
                                    WHERE prestamos.status = 0 AND detalles.status = 1   
                                    ) AS Tabla2
                                    ON
                                    Tabla.ID = Tabla2.ID");

                dataGridView1.DataSource = ds.Tables["tabla"];
                RowsToRed();
                dataGridView1.ClearSelection();
                return;
            }

            string prequery = "";

            if (FrmMenu.usuarioNivel != 1 && tabla != "Prestamos" && tabla != "Articulos" && tabla != "Alumnos")
            {
                MessageBox.Show("Solo un usuario con nivel de administrador puede agregar o alterar registros.");
                return;
            }

            pageLimit = int.Parse(numericUpDown2.Value.ToString());

            if (checkBoxFecha.Checked)
            {
                inicio = dateTimePickerInicio.Value.ToString().Substring(6, 4) + "-" + dateTimePickerInicio.Value.ToString().Substring(3, 2) + "-" + dateTimePickerInicio.Value.ToString().Substring(0, 2);
                fin    = dateTimePickerFin.Value.ToString().Substring(6, 4) + "-" + dateTimePickerFin.Value.ToString().Substring(3, 2) + "-" + dateTimePickerFin.Value.ToString().Substring(0, 2);
            }
            else
            {
                inicio = "";
                fin    = "";
            }

            prequery = Funciones.GetQuery(tabla, 0, cmbMostrar.SelectedIndex, txtBuscar.Text, inicio: inicio, fin: fin).Replace(';', ' ');
            if (prequery[0] == '¡')
            {
                lblError.Text    = prequery;
                lblError.Visible = true;
                return;
            }

            ds = Conexion.MySQL("SELECT COUNT(ID) FROM (" + prequery + ") as TablaCount;");

            count = int.Parse(ds.Tables["tabla"].Rows[0][0].ToString());

            if (count > pageLimit)
            {
                residuo = count % pageLimit;

                paginas = (count - residuo) / pageLimit;

                if (residuo != 0)
                {
                    paginas++;
                }

                lblPaginas.Text        = Convert.ToString(paginas);
                numericUpDown1.Maximum = paginas;
                status = cmbMostrar.SelectedIndex;

                label3.Visible         = true;
                label4.Visible         = true;
                numericUpDown1.Visible = true;
                lblPaginas.Visible     = true;
            }
            else
            {
                label3.Visible         = false;
                label4.Visible         = false;
                numericUpDown1.Visible = false;
                lblPaginas.Visible     = false;
            }

            like  = txtBuscar.Text;
            query = Funciones.GetQuery(tabla, 0, cmbMostrar.SelectedIndex, like, pageLimit, 0, inicio: inicio, fin: fin);
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource          = Conexion.MySQL(query).Tables["tabla"];
            lblError.Visible = false;
            dataGridView1.ClearSelection();

            if (tabla == "Prestamos")
            {
                RowsToRed();
            }

            if (columnsLoad)
            {
                dtgColumnas.Rows.Add(dataGridView1.Columns.Count);
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {
                    dtgColumnas.Rows[i].Cells[0].Value             = dataGridView1.Columns[i].Name;
                    dtgColumnas.Rows[i].DefaultCellStyle.ForeColor = Color.Black;
                }
                columnsLoad = false;
                dtgColumnas.ClearSelection();
            }
        }
Example #3
0
 private void numericUpDown1_ValueChanged(object sender, EventArgs e)
 {
     query = Funciones.GetQuery(tabla, 0, status, like, pageLimit, (int.Parse(numericUpDown1.Value.ToString()) * pageLimit) - pageLimit);
     dataGridView1.AutoGenerateColumns = true;
     dataGridView1.DataSource          = Conexion.MySQL(query).Tables["tabla"];
 }
        private void FrmPrestamoDetalles_Load(object sender, EventArgs e)
        {
            dataGridView1.DefaultCellStyle.BackColor = Color.WhiteSmoke;
            dataGridView1.AlternatingRowsDefaultCellStyle.BackColor        = Color.FromArgb(223, 223, 223);
            dataGridView1.ColumnHeadersDefaultCellStyle.BackColor          = Color.SteelBlue;
            dataGridView1.ColumnHeadersDefaultCellStyle.SelectionBackColor = Color.SteelBlue;

            dataGridView1.DefaultCellStyle.SelectionBackColor = Color.FromArgb(196, 208, 220);

            dataGridView1.Columns.Add("ID", "ID");
            dataGridView1.Columns.Add("Artículo", "Articulo");
            dataGridView1.Columns.Add("Comentario", "Comentario");

            if (id != 0)
            {
                ds = Conexion.MySQL(Funciones.GetQuery("Prestamos", id, 2));

                txtAlumno.Text      = ds.Tables["tabla"].Rows[0][1].ToString();
                txtMaestro.Text     = ds.Tables["tabla"].Rows[0][2].ToString();
                txtLaboratorio.Text = ds.Tables["tabla"].Rows[0][3].ToString();
                txtAsignatura.Text  = ds.Tables["tabla"].Rows[0][4].ToString();
                txtUsuario.Text     = ds.Tables["tabla"].Rows[0][5].ToString();
                txtEntrega.Text     = ds.Tables["tabla"].Rows[0][6].ToString().Substring(0, 10);
                txtCreado.Text      = ds.Tables["tabla"].Rows[0][7].ToString();
                txtActualizado.Text = ds.Tables["tabla"].Rows[0][8].ToString();

                ds = Conexion.MySQL("SELECT detalles.articulo ID, articulos.articulo Artículo, articulos.comentario Comentario, detalles.status status FROM detalles INNER JOIN articulos ON articulos.id = detalles.articulo WHERE detalles.prestamo = " + id + ";");
                //dataGridView1.DataSource = ds.Tables["tabla"];

                for (int i = 0; i < ds.Tables["tabla"].Rows.Count; i++)
                {
                    dataGridView1.Rows.Add();
                    dataGridView1.Rows[i].Cells[0].Value = ds.Tables["tabla"].Rows[i][0].ToString();
                    dataGridView1.Rows[i].Cells[1].Value = ds.Tables["tabla"].Rows[i][1].ToString();
                    dataGridView1.Rows[i].Cells[2].Value = ds.Tables["tabla"].Rows[i][2].ToString();

                    if (ds.Tables["tabla"].Rows[i][3].ToString() == "True")
                    {
                        dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Red; dataGridView1.Rows[i].DefaultCellStyle.SelectionForeColor = Color.Red;
                    }
                    else
                    {
                        dataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.Black; dataGridView1.Rows[i].DefaultCellStyle.SelectionForeColor = Color.Black;
                    }
                }

                dataGridView1.ClearSelection();

                ds = Conexion.MySQL("SELECT articulos.id FROM detalles INNER JOIN articulos ON detalles.articulo = articulos.id WHERE detalles.prestamo = " + id + " AND detalles.status = 1;");

                if (ds.Tables["tabla"].Rows.Count != 0)
                {
                    for (int i = 0; i < ds.Tables["tabla"].Rows.Count; i++)
                    {
                        noEntregadoID.Add(int.Parse(ds.Tables["tabla"].Rows[i][0].ToString()));
                    }
                }

                ds     = Conexion.MySQL("SELECT status FROM prestamos WHERE id = " + id + ";");
                status = ds.Tables["tabla"].Rows[0][0].ToString();

                if (status == "True")
                {
                    txtCodigo.Enabled     = true;
                    btnActualizar.Visible = true;
                    txtEstado.Text        = "Activo";
                }
                else
                {
                    txtEstado.Text = "Terminado";
                }
            }
        }