示例#1
0
        private void llenarProducto()
        {
            try
            {
                cbColorProducto.DataSource  = null;
                cbTamanoProducto.DataSource = null;

                DataSet dsProductoTemporal = new DataSet();
                int     codigo             = int.Parse(lbProducto.SelectedValue.ToString());

                dsProductoTemporal = objNegocioProducto.consultarProductoId(codigo);
                String nombre             = dsProductoTemporal.Tables[0].Rows[0][1].ToString();
                double precio             = double.Parse(dsProductoTemporal.Tables[0].Rows[0][2].ToString());
                int    categoria          = int.Parse(dsProductoTemporal.Tables[0].Rows[0][3].ToString());
                int    marca              = int.Parse(dsProductoTemporal.Tables[0].Rows[0][4].ToString());
                bool   estado             = bool.Parse(dsProductoTemporal.Tables[0].Rows[0][6].ToString());
                int    cantidadDisponible = int.Parse(dsProductoTemporal.Tables[0].Rows[0][7].ToString());
                string descripcion        = dsProductoTemporal.Tables[0].Rows[0][8].ToString();
                cantidadProducto.Value   = 0;
                cantidadProducto.Maximum = cantidadDisponible;
                txtNombreProducto.Text   = nombre;

                txtPrecio.Text      = precio.ToString();
                txtDescripcion.Text = descripcion;
                cargarComboColor(codigo);
                cargarComboTamano(codigo);

                consultarImagen(codigo);

                if (estado == true)
                {
                    rbActivo.Checked = true;
                }
                else
                {
                    rbInactivo.Checked = true;
                }
                if (cbTamanoProducto.Items.Count > 0)
                {
                    cbTamanoProducto.Enabled = true;
                }
                else
                {
                    cbTamanoProducto.Enabled = false;
                }
                if (cbColorProducto.Items.Count > 0)
                {
                    cbColorProducto.Enabled = true;
                }
                else
                {
                    cbColorProducto.Enabled = false;
                }
            }
            catch (Exception)
            {
                // MessageBox.Show("Error: " + ex.Message);
            }
        }
示例#2
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();
            }
        }
示例#3
0
        private void btnVender_Click(object sender, EventArgs e)
        {
            int                    idPaquete              = 0;
            int                    idDetallePaquete       = 0;
            int                    count                  = 0;
            DataTable              dtProducto             = new DataTable();
            clsVenta               objVenta               = new clsVenta();
            clsDetalleVenta        objDetalleVenta        = new clsDetalleVenta();
            clsNegocioVenta        objNegocioVenta        = new clsNegocioVenta();
            clsNegocioDetalleVenta objNegocioDetalleVenta = new clsNegocioDetalleVenta();
            clsNegocioSaldo        objNegocioSaldo        = new clsNegocioSaldo();
            clsNegocioProducto     objNegocioProducto     = new clsNegocioProducto();
            clsPaquete             objPaqueteTemporal     = new clsPaquete();
            clsSaldo               objSaldo               = new clsSaldo();

            try
            {
                if (lbPaquete.Items.Count > 0)
                {
                    idPaquete = int.Parse(lbPaquete.SelectedValue.ToString());

                    if (cbEstadoPaquete.SelectedIndex == 1)
                    {
                        objVenta.id_cliente     = int.Parse(cbBusquedaCliente.SelectedValue.ToString());
                        objVenta.fecha_venta    = DateTime.Today.ToShortDateString();
                        objVenta.estado_venta   = cbEstadoPaquete.SelectedIndex;
                        objVenta.subtotal_venta = double.Parse(txtSubtotalPaquete.Text);

                        if (objNegocioVenta.insertarVenta(objVenta))
                        {
                            foreach (DataRow fila in dtDetallePaqueteLogico.Rows)
                            {
                                if (bool.Parse(fila[6].ToString()))
                                {
                                    idDetallePaquete = int.Parse(dtDetallePaqueteLogicoTemporal.Rows[count][0].ToString());
                                    int idVenta = objNegocioVenta.consultarUltimoID();
                                    objDetalleVenta.id_venta = idVenta;
                                    int id_producto = int.Parse(fila[1].ToString());
                                    objDetalleVenta.id_producto               = id_producto;
                                    objDetalleVenta.cantidad                  = int.Parse(fila[4].ToString());
                                    objDetalleVenta.total_detalle             = double.Parse(fila[5].ToString());
                                    objDetalleVenta.estado_detalle            = true;
                                    objDetalleVenta.id_detalle_paquete        = idDetallePaquete;
                                    objDetallePaquete.id_paquete              = idPaquete;
                                    objDetalleVenta.id_color                  = int.Parse(fila[2].ToString());
                                    objDetalleVenta.id_tamano                 = int.Parse(fila[3].ToString());
                                    objDetalleVenta.observacion_detalle_venta = fila[7].ToString();

                                    dtProducto = objNegocioProducto.consultarProductoId(id_producto).Tables[0];
                                    objDetalleVenta.precio_producto = double.Parse(dtProducto.Rows[0][2].ToString());

                                    if (objNegocioDetalleVenta.insertarDetalleVenta(objDetalleVenta))
                                    {
                                    }
                                    else
                                    {
                                        int idDetalleVenta = objNegocioDetalleVenta.ConsultarUltimoDetalleVenta();
                                        objNegocioDetalleVenta.eliminarDetalleVenta(idDetalleVenta, idVenta);
                                        objNegocioVenta.eliminarVenta(idPaquete);
                                    }
                                }
                                count++;
                            }
                            objNegocioPaquete.cambiarEstadoPaquete(idPaquete);
                            objSaldo.id_cliente = int.Parse(cbBusquedaCliente.SelectedValue.ToString());
                            objSaldo.saldo      = double.Parse(txtSubtotalPaquete.Text);
                            objNegocioSaldo.cambiarSaldo(objSaldo, 1);
                            MessageBox.Show("Venta registrada con exito");
                        }
                        else
                        {
                            objNegocioVenta.eliminarVenta(idPaquete);

                            MessageBox.Show("Error al ingresar la venta");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Paquete ya vendido, no se puede volver a vender.");
                    }
                }
                else
                {
                    MessageBox.Show("No existe ningun paquete seleccionado para la venta");
                }
            }

            catch (Exception)
            {
                MessageBox.Show("Error al vender el paquete");
            }
            llenarDatosPaquete();
        }
示例#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;
                    }
                }
            }
        }
示例#5
0
        public void actualizareDetalle()
        {
            int                index              = lista.Count - 1;
            DataSet            dsProducto         = new DataSet();
            DataSet            dsColor            = new DataSet();
            DataSet            dsTamano           = new DataSet();
            clsNegocioProducto objNegocioProducto = new clsNegocioProducto();
            clsNegocioColor    objNegocioColor    = new clsNegocioColor();
            clsNegocioTamano   objNegocioTamano   = new clsNegocioTamano();

            try
            {
                if (index >= 0)
                {
                    int idProducto = lista[index].id_producto;
                    int idColor    = lista[index].id_color;
                    int idTamano   = lista[index].id_tamano;

                    dsProducto = objNegocioProducto.consultarProductoId(idProducto);
                    dsColor    = objNegocioColor.consultarColorId(idColor);
                    dsTamano   = objNegocioTamano.consultarTamanoId(idTamano);

                    string producto    = dsProducto.Tables[0].Rows[0][1].ToString();
                    string color       = dsColor.Tables[0].Rows[0][1].ToString();
                    string tamano      = dsTamano.Tables[0].Rows[0][1].ToString();
                    double precio      = double.Parse(dsProducto.Tables[0].Rows[0][2].ToString());
                    int    cantidad    = lista[index].cantidad;
                    double total       = lista[index].cantidad * precio;
                    bool   estado      = lista[index].estado_detalle;
                    string observacion = lista[index].observacion_detalle_paquete;


                    if (objNegocioProducto.disminuirCantidad(idProducto, cantidad))
                    {
                        DataRow fila = dtDetallePaquete.NewRow();
                        fila[0] = producto;
                        fila[1] = color;
                        fila[2] = tamano;
                        fila[3] = lista[index].cantidad;
                        fila[4] = precio;
                        fila[5] = total;
                        fila[6] = estado;
                        dtDetallePaquete.Rows.Add(fila);

                        DataRow filaLogica = dtDetallePaqueteLogico.NewRow();

                        filaLogica[0] = 0;
                        filaLogica[1] = idProducto;
                        filaLogica[2] = idColor;
                        filaLogica[3] = idTamano;
                        filaLogica[4] = lista[index].cantidad;
                        filaLogica[5] = total;
                        filaLogica[6] = estado;
                        filaLogica[7] = observacion;

                        dtDetallePaqueteLogico.Rows.Add(filaLogica);

                        dgDetallePaquete.DataSource = dtDetallePaquete;

                        darFormatoDetalle();
                        ajustarTamanioColumna();
                    }
                    else
                    {
                        MessageBox.Show("Cantidad no disponible en el producto");
                    }
                    sumarPaquete();
                }
            }
            catch (Exception)
            {
            }
        }