예제 #1
0
        private void btnNoIncluirProducto_Click(object sender, EventArgs e)
        {
            clsNegocioProducto objNegocioProducto = new clsNegocioProducto();

            if (dgDetallePaquete.RowCount > 0)
            {
                indexDataGrid = dgDetallePaquete.CurrentCell.RowIndex;
                bool valor = Boolean.Parse(dtDetallePaqueteLogico.Rows[indexDataGrid][6].ToString());

                if (valor)
                {
                    int idProducto = int.Parse(dtDetallePaqueteLogico.Rows[indexDataGrid][1].ToString());
                    int cantidad   = int.Parse(dtDetallePaqueteLogico.Rows[indexDataGrid][4].ToString());
                    dtDetallePaqueteLogico.Rows[indexDataGrid][6] = false;
                    objNegocioProducto.aumentarCantidad(idProducto, cantidad);
                    DataGridViewRow row = dgDetallePaquete.Rows[indexDataGrid];
                    row.Cells["Estado"].Value = false;
                }
            }
        }
예제 #2
0
        private void restaurarCantidades()
        {
            clsNegocioProducto objNegocioProducto = new clsNegocioProducto();

            try
            {
                foreach (DataRow fila in dtDetallePaqueteLogico.Rows)
                {
                    int idProducto = int.Parse(fila[1].ToString());
                    int cantidad   = int.Parse(fila[4].ToString());

                    if (bool.Parse(fila[6].ToString()))
                    {
                        objNegocioProducto.aumentarCantidad(idProducto, cantidad);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
예제 #3
0
        private void dgDetalleVenta_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            clsNegocioProducto objNegocioProducto = new clsNegocioProducto();
            string             nuevoPrecioTexto   = dgDetalleVenta[4, indexCantidad].Value.ToString();
            string             nuevaCantidadTexto = dgDetalleVenta[3, indexCantidad].Value.ToString();
            int       idDetalleVenta   = int.Parse(dtDetalleVentaLogico.Rows[indexCantidad][0].ToString());
            int       idProductoLogico = int.Parse(dtDetalleVentaLogico.Rows[indexCantidad][1].ToString());
            int       nuevaCantidad    = int.Parse(nuevaCantidadTexto);
            DataTable dtProducto       = dtProducto = objNegocioProducto.consultarProductoId(idProductoLogico).Tables[0];
            int       cantidadProducto = int.Parse(dtProducto.Rows[0][7].ToString());
            int       antiguaCantidad  = int.Parse(dtDetalleVentaLogico.Rows[indexCantidad][4].ToString());
            double    precioProducto   = double.Parse(dtProducto.Rows[0][2].ToString());
            decimal   nuevoPrecio      = decimal.Parse(nuevoPrecioTexto);

            if (flagDesbloquear)
            {
                if (e.ColumnIndex == 3)
                {
                    if (nuevaCantidad >= 0)
                    {
                        if (idProductoLogico != 0)
                        {
                            if (antiguaCantidad < nuevaCantidad)
                            {
                                if (nuevaCantidad <= antiguaCantidad + cantidadProducto)
                                {
                                    int cantidad = nuevaCantidad - antiguaCantidad;
                                    if (objNegocioDetalleVenta.modificarCantidad(idDetalleVenta, nuevaCantidad, precioProducto))
                                    {
                                        objNegocioProducto.disminuirCantidad(idProductoLogico, cantidad);
                                        dtDetalleVentaLogico.Rows[indexCantidad][4] = nuevaCantidad;
                                        dtDetalleVentaLogico.Rows[indexCantidad][5] = nuevaCantidad * precioProducto;
                                        dgDetalleVenta[5, indexCantidad].Value      = nuevaCantidad * precioProducto;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Cantidad de producto no disponible");
                                    dtDetalleVentaLogico.Rows[indexCantidad][4] = antiguaCantidad;
                                    dtDetalleVentaLogico.Rows[indexCantidad][5] = antiguaCantidad * precioProducto;
                                    dgDetalleVenta[3, indexCantidad].Value      = antiguaCantidad;
                                    return;
                                }
                            }
                            if (antiguaCantidad > nuevaCantidad)
                            {
                                int cantidad = antiguaCantidad - nuevaCantidad;
                                if (objNegocioDetalleVenta.modificarCantidad(idDetalleVenta, nuevaCantidad, precioProducto))
                                {
                                    objNegocioProducto.aumentarCantidad(idProductoLogico, cantidad);
                                    dtDetalleVentaLogico.Rows[indexCantidad][4] = nuevaCantidad;
                                    dtDetalleVentaLogico.Rows[indexCantidad][5] = nuevaCantidad * precioProducto;
                                    dgDetalleVenta[5, indexCantidad].Value      = nuevaCantidad * precioProducto;
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("No se puede modificar la cantidad de un producto que no es parte del paquete");
                        }
                    }
                }

                if (e.ColumnIndex == 4)
                {
                    if (nuevoPrecio >= 0)
                    {
                        if (idProductoLogico != 0)
                        {
                            if (objNegocioDetalleVenta.modificarPrecio(idDetalleVenta, nuevoPrecio))
                            {
                                decimal resultado = antiguaCantidad * nuevoPrecio;
                                dgDetalleVenta[5, indexCantidad].Value = resultado.ToString();
                            }
                            else
                            {
                                MessageBox.Show("No se puede modificar el precio del producto");
                            }
                        }
                    }
                }
                sumarVenta();
            }
        }
예제 #4
0
        private void dgDetallePaquete_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            DataTable          dtProducto         = new DataTable();
            clsNegocioProducto objNegocioProducto = new clsNegocioProducto();
            int nuevaCantidad;

            //MessageBox.Show();
            string nuevaCantidadTexto = dgDetallePaquete[3, indexCantidad].Value.ToString();

            Int32.TryParse(nuevaCantidadTexto, out nuevaCantidad);

            if (e.ColumnIndex == 3)
            {
                if (nuevaCantidad > 0)
                {
                    int idProducto = int.Parse(dtDetallePaqueteLogico.Rows[indexCantidad][1].ToString());
                    dtProducto = objNegocioProducto.consultarProductoId(idProducto).Tables[0];
                    int    cantidadProducto = int.Parse(dtProducto.Rows[0][7].ToString());
                    int    antiguaCantidad  = int.Parse(dtDetallePaqueteLogico.Rows[indexCantidad][4].ToString());
                    double precioProducto   = double.Parse(dtProducto.Rows[0][2].ToString());
                    bool   estadoProduto    = bool.Parse(dtDetallePaqueteLogico.Rows[indexCantidad][6].ToString());
                    int    idProductoLogico = int.Parse(dtDetallePaqueteLogico.Rows[indexCantidad][0].ToString());

                    if (idProductoLogico != 0)
                    {
                        if (estadoProduto)
                        {
                            if (antiguaCantidad < nuevaCantidad)
                            {
                                if (nuevaCantidad <= antiguaCantidad + cantidadProducto)
                                {
                                    int cantidad = nuevaCantidad - antiguaCantidad;
                                    objNegocioProducto.disminuirCantidad(idProducto, cantidad);
                                }
                                else
                                {
                                    MessageBox.Show("Cantidad de producto no disponible");
                                    dtDetallePaqueteLogico.Rows[indexCantidad][4] = antiguaCantidad;
                                    dtDetallePaqueteLogico.Rows[indexCantidad][5] = antiguaCantidad * precioProducto;
                                    dgDetallePaquete[3, indexCantidad].Value      = antiguaCantidad;
                                    return;
                                }
                            }
                            else
                            {
                                int cantidad = antiguaCantidad - nuevaCantidad;
                                objNegocioProducto.aumentarCantidad(idProducto, cantidad);
                            }
                            dtDetallePaqueteLogico.Rows[indexCantidad][4] = nuevaCantidad;
                            dtDetallePaqueteLogico.Rows[indexCantidad][5] = nuevaCantidad * precioProducto;
                        }
                        else
                        {
                            MessageBox.Show("No se puede modificar la cantidad de un producto que no es parte del paquete");
                        }
                    }
                    else
                    {
                        dgDetallePaquete[3, indexCantidad].Value = antiguaCantidad;
                        return;
                    }
                }
            }
        }