public static void CancelarPedido(Formulario formulario, List <LineaDePedido> ListaDetallesFact, List <EspecificacionDeProducto> ListaProducto, TextBox txtSubTotalFactura, TextBox txtTOTALFactura, TextBox txtIvaFact, NumericUpDown nudImporteFact, TextBox txtVueltoFAct, Button btnAgregarfactura, DataGridView dgvListaProducto, DataGridView dgvGrillaFactura) { foreach (var itemDetalle in ListaDetallesFact) { foreach (var itemProducto in ListaProducto) { if (itemDetalle.Codigo == itemProducto.ProdCodigo) { itemProducto.ProdStock += itemDetalle.Cantidad; } } } txtSubTotalFactura.Text = "0"; txtTOTALFactura.Text = "0"; txtIvaFact.Text = "0"; nudImporteFact.Value = 0; txtVueltoFAct.Text = "0"; btnAgregarfactura.Enabled = true; ListaDetallesFact.Clear(); Facturacion.cargargrillaproducto(formulario, ListaProducto, dgvListaProducto); Facturacion.cargarGrillaFact(formulario, ListaDetallesFact, dgvGrillaFactura); }
public static void AgregarPedido(Formulario formulario, TextBox txtCodigoProductoFactura, List <EspecificacionDeProducto> ListaProducto, EspecificacionDeProducto ProdActual, NumericUpDown nudCantidadDetallesFAct, DataGridView dgvListaProducto, Button btnGuardarFactura, NumericUpDown nudImporteFact, List <LineaDePedido> ListaDetallesFact, TextBox txtDescripcionProductoFactura, DataGridView dgvGrillaFactura, NumericUpDown nudPrecioProducto, bool FactA, bool FactB, bool FactC, TextBox txtIvaFact, EspecificacionDeProducto factura, TextBox txtSubTotalFactura, TextBox txtTOTALFactura) { if (string.IsNullOrEmpty(formulario.cmbProductoStock.SelectedValue.ToString())) { MessageBox.Show("Seleccione un producto"); } else { if (string.IsNullOrEmpty(txtCodigoProductoFactura.Text)) { MessageBox.Show("El producto no existe"); } else { ProdActual = Facturacion.BuscarProd(formulario.txtCodigoProductoFactura.Text, ListaProducto); AgregarEspecificacionProducto(formulario, ProdActual, Convert.ToInt32(nudCantidadDetallesFAct.Value), nudCantidadDetallesFAct, ProdActual, ListaDetallesFact, txtDescripcionProductoFactura, dgvGrillaFactura, txtCodigoProductoFactura, nudPrecioProducto, ListaProducto, dgvListaProducto, FactA, FactB, FactC, txtIvaFact, factura, txtSubTotalFactura, txtTOTALFactura); Facturacion.cargargrillaproducto(formulario, ListaProducto, dgvListaProducto); nudCantidadDetallesFAct.Value = 1; FacturaABC(FactA, FactB, FactC, txtIvaFact, ListaDetallesFact, txtSubTotalFactura, txtTOTALFactura); ExiteProductosListaFact(txtTOTALFactura, nudImporteFact); btnGuardarFactura.Enabled = true; nudImporteFact.Enabled = true; } } }
//-------------------------------------------------- //Función para agregar los datos al detalles factura public static void AgregarEspecificacionProducto(Formulario formulario, EspecificacionDeProducto codiProd, int cantidadProd, NumericUpDown nudCantidadDetallesFAct, EspecificacionDeProducto ProdActual, List <LineaDePedido> ListaDetallesFact, TextBox txtDescripcionProductoFactura, DataGridView dgvGrillaFactura, TextBox txtCodigoProductoFactura, NumericUpDown nudPrecioProducto, List <EspecificacionDeProducto> ListaProducto, DataGridView dgvListaProducto, bool FactA, bool FactB, bool FactC, TextBox txtIvaFact, EspecificacionDeProducto factura, TextBox txtSubTotalFactura, TextBox txtTOTALFactura) { //Verifica si existe un producto en la lista de detalles if (ExisteProd(factura, ListaDetallesFact, txtDescripcionProductoFactura)) { //Verifica el stock if (nudCantidadDetallesFAct.Value <= ProdActual.ProdStock) { foreach (var busc in ListaDetallesFact) { //Verifica que cod de la lista es igual al del producto a agregar, le suma la cantidad y calcula nuevamente el subtotal if (busc.Descripcion == txtDescripcionProductoFactura.Text) { busc.Cantidad += cantidadProd; busc.SubTotal = busc.Cantidad * busc.Precio; ProdActual.ProdStock = ProdActual.ProdStock - cantidadProd; FacturaABC(FactA, FactB, FactC, txtIvaFact, ListaDetallesFact, txtSubTotalFactura, txtTOTALFactura); } Facturacion.cargarGrillaFact(formulario, ListaDetallesFact, dgvGrillaFactura); } } else { MessageBox.Show("No hay Stock del producto"); } } else //Si el producto es nuevo en la lista de detalles { //Verifica el stock if (nudCantidadDetallesFAct.Value <= ProdActual.ProdStock) { LineaDePedido ObjDetalle = new LineaDePedido(); ObjDetalle.Codigo = txtCodigoProductoFactura.Text; ObjDetalle.Descripcion = txtDescripcionProductoFactura.Text; ObjDetalle.Precio = nudPrecioProducto.Value; ObjDetalle.Cantidad = Convert.ToInt32(nudCantidadDetallesFAct.Value); ObjDetalle.SubTotal = ObjDetalle.Precio * ObjDetalle.Cantidad; ProdActual.ProdStock = ProdActual.ProdStock - Convert.ToInt32(nudCantidadDetallesFAct.Value); ListaDetallesFact.Add(ObjDetalle); Facturacion.cargarGrillaFact(formulario, ListaDetallesFact, dgvGrillaFactura); Facturacion.cargargrillaproducto(formulario, ListaProducto, dgvListaProducto); } else { MessageBox.Show("No hay Stock del producto"); } } }