public void disminuirInventario() { //Disminuir el inventario del producto a facturar Producto p = new Producto(); p.nombre = productoDetallar.nombre; p.idProducto = productoDetallar.idProducto; p.idCategoria = productoDetallar.idCategoria; p.idProveedor = productoDetallar.idProveedor; p.fechaIngreso = productoDetallar.fechaIngreso; p.fechaVencimiento = productoDetallar.fechaVencimiento; p.estado = productoDetallar.estado; p.precio = precioDelProducto; p.cantidad = nuevoInventario; prodl.ModificarProducto(p); nuevoInventario = 0; precioDelProducto = 0; }
private void btnModificarProducto_Click(object sender, EventArgs e) { //verificar si hay campos nulos if (txtCodigo.Text == "" || txtNombre.Text == "" || txtPrecio.Text == "") { lblMensaje.ForeColor = Color.Red; lblMensaje.Text = "Por favor, complete los campos correspondientes para realizar su modificación"; } else { Producto p1 = (Producto)dgvProducto.Rows[dgvProducto.SelectedRows[0].Index].DataBoundItem; //crear la instancia de producto Producto p = new Producto(); p.idProducto = p1.idProducto; p.nombre = txtNombre.Text; //si la cantidad de productos aumentó if (p1.cantidad < Convert.ToInt32(nudCantidad.Value)) { p.cantidad = Convert.ToInt32(nudCantidad.Value); p.fechaIngreso = DateTime.Now.ToString("dd/MM/yyyy"); } else { //si la cantidad de productos va a disminuir if (p1.cantidad > Convert.ToInt32(nudCantidad.Value)) { lblMensaje.ForeColor = Color.Red; lblMensaje.Text = "No es posible modificar la cantidad actual con otra cantidad menor"; return; } else { //si la cantidad de productos se mantiene igual if (p1.cantidad == Convert.ToInt32(nudCantidad.Value)) { p.cantidad = p1.cantidad; p.fechaIngreso = p1.fechaIngreso; } } } p.fechaVencimiento = dtpFechaVencimiento.Value.ToString("dd/MM/yyyy"); p.idCategoria = Convert.ToInt32(cboCategoria.SelectedValue); p.idProveedor = cboProveedor.SelectedValue.ToString(); if (cboEstado.SelectedIndex == 0) { p.estado = p1.estado; } if (cboEstado.SelectedIndex == 1) { p.estado = 1; } if (cboEstado.SelectedIndex == 2) { p.estado = 2; } if (cboEstado.SelectedIndex == 3) { p.estado = p1.estado; } try { //verifica si el precio fue digitado con números double preVal = Convert.ToDouble(txtPrecio.Text); //verifica si el valor de ganancia sufrió un cambio y se vuelve a calcular el precio if (ind == true) { p.precio = pl.precioRealProducto(Convert.ToDouble(txtPrecio.Text), Convert.ToDouble(nudGanancia.Value)); } else { p.precio = p1.precio; } //modifica el producto pl.ModificarProducto(p); refrescar(); lblMensaje.ForeColor = Color.Green; lblMensaje.Text = "Producto modificado exitosamente"; ind = false; } catch (Exception) { lblMensaje.ForeColor = Color.Red; lblMensaje.Text = "El campo precio debe contener valores numéricos"; return; } } }