示例#1
0
        //Rutas
        private void btnPrincipal_Click(object sender, EventArgs e)
        {
            pnlLado2.Visible = false;
            panelPosicion(pnlLado, btnPrincipal, true);
            ocultarSubMenu(pnlSubMenuDatos);
            ocultarSubMenu(pnlSubMenuDatos2);
            viejaPosicion(btnConsultas, 31, 459);
            AbrirFormEnPanel(frmPrincipal);
            frmPrincipal.txtCodigo.Focus();

            if (!FrmPrincipal.devolver)
            {
                ds = Conexion.MySQL("SELECT COUNT(id) FROM maestros WHERE status = 1;");
                if (ds.Tables["tabla"].Rows[0][0].ToString() != frmPrincipal.cmbMaestro.Items.Count.ToString())
                {
                    Funciones.TableToCombo(frmPrincipal.cmbMaestro, FrmPrincipal.maestros, "maestros");
                }
                else
                {
                    ds = Conexion.MySQL("SELECT id FROM maestros WHERE status = 1;");
                    for (int i = 0; i < FrmPrincipal.maestros.Count; i++)
                    {
                        if (ds.Tables["tabla"].Rows[i][0].ToString() != FrmPrincipal.maestros[i].ToString())
                        {
                            Funciones.TableToCombo(frmPrincipal.cmbMaestro, FrmPrincipal.maestros, "maestros");
                            return;
                        }
                    }
                }

                ds = Conexion.MySQL("SELECT COUNT(id) FROM asignaturas WHERE status = 1;");
                if (ds.Tables["tabla"].Rows[0][0].ToString() != frmPrincipal.cmbAsignatura.Items.Count.ToString())
                {
                    Funciones.TableToCombo(frmPrincipal.cmbAsignatura, FrmPrincipal.asignaturas, "asignaturas");
                }
                else
                {
                    ds = Conexion.MySQL("SELECT id FROM asignaturas WHERE status = 1;");
                    for (int i = 0; i < FrmPrincipal.asignaturas.Count; i++)
                    {
                        if (ds.Tables["tabla"].Rows[i][0].ToString() != FrmPrincipal.asignaturas[i].ToString())
                        {
                            Funciones.TableToCombo(frmPrincipal.cmbAsignatura, FrmPrincipal.asignaturas, "asignaturas");
                            return;
                        }
                    }
                }

                ds = Conexion.MySQL("SELECT COUNT(id) FROM laboratorios WHERE status = 1;");
                if (ds.Tables["tabla"].Rows[0][0].ToString() != frmPrincipal.cmbLaboratorio.Items.Count.ToString())
                {
                    Funciones.TableToCombo(frmPrincipal.cmbLaboratorio, FrmPrincipal.laboratorios, "laboratorios");
                }
                else
                {
                    ds = Conexion.MySQL("SELECT id FROM laboratorios WHERE status = 1;");
                    for (int i = 0; i < FrmPrincipal.laboratorios.Count; i++)
                    {
                        if (ds.Tables["tabla"].Rows[i][0].ToString() != FrmPrincipal.laboratorios[i].ToString())
                        {
                            Funciones.TableToCombo(frmPrincipal.cmbLaboratorio, FrmPrincipal.laboratorios, "laboratorios");
                            return;
                        }
                    }
                }
            }
        }
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            var respuesta = MessageBox.Show("¿Desea actualizar el préstamo?", "Información", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            if (respuesta == DialogResult.Yes)
            {
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (row.DefaultCellStyle.ForeColor == Color.Red && !noEntregadoID.Contains(int.Parse(row.Cells[0].Value.ToString())))
                    {
                        ds = Conexion.MySQL("SELECT * FROM articulos WHERE id = " + row.Cells[0].Value.ToString() + " AND disponible = 1;");

                        if (ds.Tables["tabla"].Rows.Count == 0)
                        {
                            MessageBox.Show("El artículo con el ID " + row.Cells[0].Value.ToString() + " se encuentra en otro préstamo activo.");
                            return;
                        }
                    }
                }

                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (row.DefaultCellStyle.ForeColor == Color.LimeGreen)
                    {
                        detalles.Clear();
                        detalles.Add("0");
                        detalles.Add(id.ToString());
                        detalles.Add(row.Cells[0].Value.ToString());
                        detalles.Add("NOW()");
                        detalles.Add("NOW()");
                        detalles.Add("1");

                        Funciones.Insert("detalles", detalles);

                        ds = Conexion.MySQL("SELECT LAST_INSERT_ID();");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                        movimiento.Add("'Detalles'");
                        movimiento.Add("'Artículo'");
                        movimiento.Add("'" + row.Cells[1].Value.ToString() + "'");
                        movimiento.Add("NULL");
                        movimiento.Add("'Prestó'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);
                    }

                    if (row.DefaultCellStyle.ForeColor == Color.Black && noEntregadoID.Contains(int.Parse(row.Cells[0].Value.ToString())))
                    {
                        Conexion.MySQL("UPDATE detalles SET status = 0, updated_at = NOW() WHERE articulo = " + row.Cells[0].Value.ToString() + " AND prestamo = " + id + ";");

                        ds = Conexion.MySQL("SELECT id FROM detalles WHERE articulo = " + row.Cells[0].Value.ToString() + " AND prestamo = " + id + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                        movimiento.Add("'Detalles'");
                        movimiento.Add("'Artículo'");
                        movimiento.Add("'" + row.Cells[1].Value.ToString() + "'");
                        movimiento.Add("NULL");
                        movimiento.Add("'Devolvió'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);

                        Conexion.MySQL("UPDATE articulos SET disponible = 1, updated_at = NOW() WHERE id = " + row.Cells[0].Value.ToString() + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(row.Cells[0].Value.ToString());
                        movimiento.Add("'Articulos'");
                        movimiento.Add("'Disponible'");
                        movimiento.Add("'1'");
                        movimiento.Add("'0'");
                        movimiento.Add("'Modificó'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);
                    }

                    if (row.DefaultCellStyle.ForeColor == Color.Red && !noEntregadoID.Contains(int.Parse(row.Cells[0].Value.ToString())))
                    {
                        Conexion.MySQL("UPDATE detalles SET status = 1, updated_at = NOW() WHERE articulo = " + row.Cells[0].Value.ToString() + " AND prestamo = " + id + ";");

                        ds = Conexion.MySQL("SELECT id FROM detalles WHERE articulo = " + row.Cells[0].Value.ToString() + " AND prestamo = " + id + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                        movimiento.Add("'Detalles'");
                        movimiento.Add("'Artículo'");
                        movimiento.Add("'" + row.Cells[1].Value.ToString() + "'");
                        movimiento.Add("NULL");
                        movimiento.Add("'Prestó'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);

                        Conexion.MySQL("UPDATE articulos SET disponible = 0, updated_at = NOW() WHERE id = " + row.Cells[0].Value.ToString() + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(row.Cells[0].Value.ToString());
                        movimiento.Add("'Articulos'");
                        movimiento.Add("'Disponible'");
                        movimiento.Add("'0'");
                        movimiento.Add("'1'");
                        movimiento.Add("'Modificó'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);
                    }
                }

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].DefaultCellStyle.ForeColor == Color.LimeGreen)
                    {
                        dataGridView1.Rows[i].DefaultCellStyle.ForeColor          = Color.Red;
                        dataGridView1.Rows[i].DefaultCellStyle.SelectionForeColor = Color.Red;
                    }
                }

                noEntregadoID.Clear();
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (row.DefaultCellStyle.ForeColor == Color.Red)
                    {
                        noEntregadoID.Add(int.Parse(row.Cells[0].Value.ToString()));
                    }
                }

                if (noEntregadoID.Count == 0)
                {
                    Conexion.MySQL("UPDATE prestamos SET status = 0, updated_at = NOW() WHERE id = " + id + ";");

                    movimiento.Clear();
                    movimiento.Add("0");
                    movimiento.Add(FrmMenu.usuarioID.ToString());
                    movimiento.Add(id.ToString());
                    movimiento.Add("'Prestamos'");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("'Devolvió'");
                    movimiento.Add("NOW()");
                    movimiento.Add("NOW()");
                    movimiento.Add("1");
                    Funciones.Insert("movimientos", movimiento);

                    txtCodigo.Enabled     = false;
                    btnActualizar.Visible = false;
                }
            }
        }
        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";
                }
            }
        }
        private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (status == "False")
            {
                if (noEntregadoID.Contains(int.Parse(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString())))
                {
                    var respuesta = MessageBox.Show("¿Desea marcar como devuelto este artículo?", "Información", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (respuesta == DialogResult.Yes)
                    {
                        Conexion.MySQL("UPDATE detalles SET status = 0 WHERE articulo = " + int.Parse(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()) + " AND prestamo = " + id + ";");

                        ds = Conexion.MySQL("SELECT id FROM detalles WHERE articulo = " + int.Parse(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()) + " AND prestamo = " + id + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                        movimiento.Add("'Detalles'");
                        movimiento.Add("'Artículo'");
                        movimiento.Add("'" + dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString() + "'");
                        movimiento.Add("NULL");
                        movimiento.Add("'Devolvió'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);

                        Conexion.MySQL("UPDATE articulos SET disponible = 1 WHERE id = " + int.Parse(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()) + ";");

                        movimiento.Clear();
                        movimiento.Add("0");
                        movimiento.Add(FrmMenu.usuarioID.ToString());
                        movimiento.Add(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
                        movimiento.Add("'Articulos'");
                        movimiento.Add("'Disponible'");
                        movimiento.Add("'1'");
                        movimiento.Add("'0'");
                        movimiento.Add("'Modificó'");
                        movimiento.Add("NOW()");
                        movimiento.Add("NOW()");
                        movimiento.Add("1");
                        Funciones.Insert("movimientos", movimiento);

                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor          = Color.Black;
                        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.SelectionForeColor = Color.Black;
                    }
                }
                else
                {
                    MessageBox.Show("El artículo seleccionado ya ha sido devuelto.");
                }
            }
            else
            {
                if (dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor == Color.Black)
                {
                    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor          = Color.Red;
                    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.SelectionForeColor = Color.Red;
                }
                else if (dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor == Color.Red)
                {
                    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor          = Color.Black;
                    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.SelectionForeColor = Color.Black;
                }
                else if (dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor == Color.LimeGreen)
                {
                    dataGridView1.Rows.RemoveAt(e.RowIndex);
                }
            }
        }
        //Variables Publicas y Privadas
        //Formulario Carga o Cierra
        //Desarrollo
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            List <string> valores = new List <string>();

            if (txtNombre.Text == "")
            {
                MessageBox.Show("Ingrese el nombre de la asignatura", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtNombre.Focus(); return;
            }

            string status = "1";

            if (id != 0)
            {
                ds     = Conexion.MySQL("SELECT status FROM asignaturas WHERE id = " + id + ";");
                status = ds.Tables["tabla"].Rows[0][0].ToString();
            }

            valores.Add(id.ToString());
            valores.Add("'" + txtNombre.Text + "'");
            valores.Add("NOW()");
            valores.Add("NOW()");
            valores.Add(status);

            nuevo.Add(txtNombre.Text);

            if (id != 0)
            {
                var respuesta = MessageBox.Show("¿Esta seguro de actualizar este registro?", "Informacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (respuesta == DialogResult.Yes)
                {
                    if (Funciones.Insert("asignaturas", valores))
                    {
                        for (int i = 0; i < original.Count; i++)
                        {
                            if (original[i] != nuevo[i])
                            {
                                movimiento.Clear();
                                movimiento.Add("0");
                                movimiento.Add(FrmMenu.usuarioID.ToString());
                                movimiento.Add(id.ToString());
                                movimiento.Add("'Asignaturas'");
                                movimiento.Add("'" + columnas[i] + "'");
                                movimiento.Add("'" + nuevo[i] + "'");
                                movimiento.Add("'" + original[i] + "'");
                                movimiento.Add("'Modificó'");
                                movimiento.Add("NOW()");
                                movimiento.Add("NOW()");
                                movimiento.Add("1");
                                Funciones.Insert("movimientos", movimiento);
                            }
                        }
                    }
                    this.Close();
                }
            }
            else
            {
                if (Funciones.Insert("asignaturas", valores))
                {
                    ds = Conexion.MySQL("SELECT Last_Insert_ID();");
                    movimiento.Clear();
                    movimiento.Add("0");
                    movimiento.Add(FrmMenu.usuarioID.ToString());
                    movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                    movimiento.Add("'Asignaturas'");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("'Agregó'");
                    movimiento.Add("NOW()");
                    movimiento.Add("NOW()");
                    movimiento.Add("1");
                    Funciones.Insert("movimientos", movimiento);
                }
                this.Close();
            }
        }
        //Desarrollo
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtMatricula.Text == "")
            {
                MessageBox.Show("Ingrese la matricula", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtMatricula.Focus(); return;
            }
            if (dataGridView1.Rows.Count == 0)
            {
                MessageBox.Show("Agregue artículos a la lista", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtCodigo.Focus(); return;
            }
            if (cmbMaestro.Text == "")
            {
                MessageBox.Show("Seleccione el nombre del maestro", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cmbMaestro.Focus(); return;
            }
            if (cmbAsignatura.Text == "")
            {
                MessageBox.Show("Seleccione la asignatura", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cmbAsignatura.Focus(); return;
            }
            if (cmbLaboratorio.Text == "")
            {
                MessageBox.Show("Seleccione laboratorio", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cmbLaboratorio.Focus(); return;
            }

            if (!devolver)
            {
                List <string> valores  = new List <string>();
                List <string> detalles = new List <string>();
                List <string> articulo = new List <string>();

                ds = Conexion.MySQL("SELECT status FROM usuarios WHERE id = " + FrmMenu.usuarioID + ";");

                if (ds.Tables["tabla"].Rows[0][0].ToString() == "False")
                {
                    { MessageBox.Show("El usuario de la sesión se encuentra dado de baja en el sistema", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; }
                }

                var respuesta = MessageBox.Show("¿Desea realizar el siguiente prestamo?", "Información", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (respuesta == DialogResult.Yes)
                {
                    if (DateTime.Now.ToString().Substring(0, 10) == dateTimePickerFin.Value.ToString().Substring(0, 10))
                    {
                        fecha = "NOW()";
                    }
                    else
                    {
                        fecha = "'" + dateTimePickerFin.Value.ToString().Substring(6, 4) + "-" + dateTimePickerFin.Value.ToString().Substring(3, 2) + "-" + dateTimePickerFin.Value.ToString().Substring(0, 2) + "'";
                    }

                    valores.Add("0");
                    valores.Add(alumnoID.ToString());
                    valores.Add(maestros[cmbMaestro.SelectedIndex].ToString());
                    valores.Add(laboratorios[cmbLaboratorio.SelectedIndex].ToString());
                    valores.Add(asignaturas[cmbAsignatura.SelectedIndex].ToString());
                    valores.Add(FrmMenu.usuarioID.ToString());
                    valores.Add(fecha);
                    valores.Add("NOW()");
                    valores.Add("NOW()");
                    valores.Add("1");

                    Funciones.Insert("prestamos", valores);

                    ds = Conexion.MySQL("SELECT LAST_INSERT_ID();");

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

                    movimiento.Clear();
                    movimiento.Add("0");
                    movimiento.Add(FrmMenu.usuarioID.ToString());
                    movimiento.Add(prestamoID.ToString());
                    movimiento.Add("'Prestamos'");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("'Prestó'");
                    movimiento.Add("NOW()");
                    movimiento.Add("NOW()");
                    movimiento.Add("1");
                    Funciones.Insert("movimientos", movimiento);

                    foreach (DataGridViewRow row in dataGridView1.Rows)
                    {
                        detalles.Clear();
                        detalles.Add("0");
                        detalles.Add(prestamoID.ToString());
                        detalles.Add(row.Cells[0].Value.ToString());
                        detalles.Add("NOW()");
                        detalles.Add("NOW()");
                        detalles.Add("1");

                        Funciones.Insert("detalles", detalles);

                        articulo.Clear();
                        articulo.Add(row.Cells[0].Value.ToString());
                        articulo.Add("'" + row.Cells[1].Value.ToString() + "'");
                        articulo.Add("'" + row.Cells[2].Value.ToString() + "'");
                        articulo.Add("0");
                        articulo.Add("NOW()");
                        articulo.Add("NOW()");
                        articulo.Add("1");

                        Funciones.Insert("articulos", articulo);
                    }
                    borrarContenido();
                }
            }
            else
            {
                string texto;
                int    rowColorCount = 0;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].DefaultCellStyle.ForeColor == Color.Red)
                    {
                        rowColorCount++;
                    }
                }

                if (rowColorCount == dataGridView1.Rows.Count)
                {
                    MessageBox.Show("No se ha devuelto ningún artículo.\nFavor de devolver al menos uno a la lista");
                    return;
                }
                else if (rowColorCount != 0)
                {
                    texto = "Hay artículos faltantes\nLos artículos faltantes serán registrados como no entregados\n¿Desea realizar la siguiente devolución?";
                }
                else
                {
                    texto = "¿Desea realizar la siguiente devolución?";
                }

                var respuesta = MessageBox.Show(texto, "Información", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (respuesta == DialogResult.Yes)
                {
                    Conexion.MySQL("UPDATE prestamos SET status = '0' WHERE prestamos.id = " + prestamoID + ";");

                    foreach (DataGridViewRow row in dataGridView1.Rows)
                    {
                        if (row.DefaultCellStyle.ForeColor == Color.Black)
                        {
                            Conexion.MySQL("UPDATE detalles SET status = '0' WHERE detalles.prestamo = " + prestamoID + " AND detalles.articulo = " + row.Cells[0].Value.ToString() + ";");
                            Conexion.MySQL("UPDATE articulos SET disponible = '1' WHERE articulos.id = " + row.Cells[0].Value.ToString() + ";");
                        }
                    }

                    txtCodigo.Enabled    = false;
                    txtMatricula.Enabled = true;
                    txtMatricula.Focus();
                    MessageBox.Show("La devolución se ha realizado correctamente.");

                    movimiento.Clear();
                    movimiento.Add("0");
                    movimiento.Add(FrmMenu.usuarioID.ToString());
                    movimiento.Add(prestamoID.ToString());
                    movimiento.Add("'Prestamos'");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("'Devolvió'");
                    movimiento.Add("NOW()");
                    movimiento.Add("NOW()");
                    movimiento.Add("1");
                    Funciones.Insert("movimientos", movimiento);

                    borrarContenido();
                }
            }
            NotificationsUpdate();
        }
        public void colorChange()
        {
            devolver = !devolver;

            if (devolver)
            {
                panel1.BackColor      = devolucionColor;
                btnDevolver.BackColor = devolucionColor;
                pictureBox1.BackColor = devolucionColor;
                button1.BackColor     = devolucionColor;

                dataGridView1.DefaultCellStyle.BackColor = Color.White;
                dataGridView1.AlternatingRowsDefaultCellStyle.BackColor        = devolucionColor;
                dataGridView1.ColumnHeadersDefaultCellStyle.BackColor          = devolucionColor;
                dataGridView1.ColumnHeadersDefaultCellStyle.SelectionBackColor = devolucionColor;

                cmbAsignatura.Enabled     = false;
                cmbLaboratorio.Enabled    = false;
                cmbMaestro.Enabled        = false;
                txtCodigo.Enabled         = false;
                dateTimePickerFin.Enabled = false;
                txtMatricula.Enabled      = true;

                lblRegistro.Visible = false;

                dateTimePickerFin.MinDate = DateTime.Parse("01/01/2020");

                Funciones.TableToCombo(cmbMaestro, maestros, "maestros", 2);
                Funciones.TableToCombo(cmbAsignatura, asignaturas, "asignaturas", 2);
                Funciones.TableToCombo(cmbLaboratorio, laboratorios, "laboratorios", 2);

                btnDevolver.Text = "Prestar";
                txtUsuario.Clear();
            }
            else
            {
                panel1.BackColor      = principalColor;
                btnDevolver.BackColor = principalColor;
                pictureBox1.BackColor = principalColor;
                button1.BackColor     = principalColor;

                dataGridView1.DefaultCellStyle.BackColor = Color.White;
                dataGridView1.AlternatingRowsDefaultCellStyle.BackColor        = principalColor;
                dataGridView1.ColumnHeadersDefaultCellStyle.BackColor          = principalColor;
                dataGridView1.ColumnHeadersDefaultCellStyle.SelectionBackColor = principalColor;

                cmbAsignatura.Enabled     = true;
                cmbLaboratorio.Enabled    = true;
                cmbMaestro.Enabled        = true;
                txtCodigo.Enabled         = true;
                dataGridView1.Enabled     = true;
                dateTimePickerFin.Enabled = true;
                txtMatricula.Enabled      = true;

                lblRegistro.Visible = false;

                dateTimePickerFin.MinDate = DateTime.Now;

                Funciones.TableToCombo(cmbMaestro, maestros, "maestros");
                Funciones.TableToCombo(cmbAsignatura, asignaturas, "asignaturas");
                Funciones.TableToCombo(cmbLaboratorio, laboratorios, "laboratorios");

                btnDevolver.Text = "Devolver";
                txtUsuario.Clear();
            }
        }
示例#8
0
        //Desarrollo
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            DataSet       ds;
            List <string> valores = new List <string>();

            if (txtUsuario.Text == "")
            {
                MessageBox.Show("Ingrese el usuario", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtUsuario.Focus(); return;
            }
            if (txtContraseña.Text == "" && txtContraseñaC.Text != "")
            {
                MessageBox.Show("Ingrese la contraseña", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtContraseña.Focus(); return;
            }
            if (txtContraseñaC.Text == "" && txtContraseña.Text != "")
            {
                MessageBox.Show("Ingrese la contraseña", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtContraseñaC.Focus(); return;
            }
            if (!(txtContraseña.Text == txtContraseñaC.Text))
            {
                MessageBox.Show("Las contraseñas no coinciden", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return;
            }
            if (cmbNivel.Text == "")
            {
                MessageBox.Show("Seleccione el Nivel", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); cmbNivel.Focus(); return;
            }
            if (txtContraseña.Text != txtContraseñaC.Text)
            {
                MessageBox.Show("Las contraseñas no coinciden", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtContraseña.Focus(); return;
            }

            string status = "1";

            if (id != 0)
            {
                ds     = Conexion.MySQL("SELECT status FROM usuarios WHERE id = " + id + ";");
                status = ds.Tables["tabla"].Rows[0][0].ToString();
            }

            valores.Add(id.ToString());
            valores.Add("'" + txtUsuario.Text + "'");
            valores.Add("md5('" + txtContraseña.Text + "')");
            valores.Add("'" + cmbNivel.Text + "'");
            valores.Add("NOW()");
            valores.Add("NOW()");
            valores.Add(status);

            nuevo.Add(txtUsuario.Text);
            nuevo.Add(cmbNivel.Text);

            if (id != 0)
            {
                var respuesta = MessageBox.Show("¿Esta seguro de actualizar este registro?", "Informacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (respuesta == DialogResult.Yes)
                {
                    if (Funciones.Insert("usuarios", valores))
                    {
                        for (int i = 0; i < original.Count; i++)
                        {
                            if (original[i] != nuevo[i])
                            {
                                movimiento.Clear();
                                movimiento.Add("0");
                                movimiento.Add(FrmMenu.usuarioID.ToString());
                                movimiento.Add(id.ToString());
                                movimiento.Add("'Usuarios'");
                                movimiento.Add("'" + columnas[i] + "'");
                                movimiento.Add("'" + nuevo[i] + "'");
                                movimiento.Add("'" + original[i] + "'");
                                movimiento.Add("'Modificó'");
                                movimiento.Add("NOW()");
                                movimiento.Add("NOW()");
                                movimiento.Add("1");
                                Funciones.Insert("movimientos", movimiento);
                            }
                        }

                        if (txtContraseña.Text == txtContraseñaC.Text)
                        {
                            movimiento.Clear();
                            movimiento.Add("0");
                            movimiento.Add(FrmMenu.usuarioID.ToString());
                            movimiento.Add(id.ToString());
                            movimiento.Add("'Usuarios'");
                            movimiento.Add("'Contraseña'");
                            movimiento.Add("NULL");
                            movimiento.Add("NULL");
                            movimiento.Add("'Modificó'");
                            movimiento.Add("NOW()");
                            movimiento.Add("NOW()");
                            movimiento.Add("1");
                            Funciones.Insert("movimientos", movimiento);
                        }
                    }
                    this.Close();
                }
            }
            else
            {
                if (Funciones.Insert("usuarios", valores))
                {
                    ds = Conexion.MySQL("SELECT Last_Insert_ID();");
                    movimiento.Clear();
                    movimiento.Add("0");
                    movimiento.Add(FrmMenu.usuarioID.ToString());
                    movimiento.Add(ds.Tables["tabla"].Rows[0][0].ToString());
                    movimiento.Add("'Usuarios'");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("NULL");
                    movimiento.Add("'Agregó'");
                    movimiento.Add("NOW()");
                    movimiento.Add("NOW()");
                    movimiento.Add("1");
                    Funciones.Insert("movimientos", movimiento);
                }
                this.Close();
            }
        }