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); } }
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(); } }
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(); }
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; } } } }
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) { } }