protected void agregar_Click(object sender, EventArgs e) { try { VentaNegocio ventaNegocio = new VentaNegocio(); FacturaNegocio facturaneg = new FacturaNegocio(); Venta venta = new Venta(); venta = null; venta = ventaNegocio.BuscarxNumVenta(Convert.ToInt32(numero.Text)); if (venta == null) { venta = new Venta(); venta.numeroVenta = Convert.ToInt32(numero.Text); venta.Fecha = System.DateTime.Now; venta.Cantidad = Convert.ToInt32(cantidad.Text); venta.Factura = new Factura(); venta.Factura.Numero = Convert.ToInt32(factura.Text); ClienteNegocio cnegocio = new ClienteNegocio(); venta.cliente = new Cliente(); venta.cliente.Apellido = clientes.SelectedValue; venta.cliente.DNI = cnegocio.BuscarCodigo(clientes.SelectedValue); venta.producto = new Producto(); ProductoNegocio prodneg = new ProductoNegocio(); venta.producto.Nombre = producto.SelectedValue; int Codigo = prodneg.buscarCodigo(producto.SelectedValue); venta.producto = prodneg.buscar(producto.SelectedValue); venta.producto.Codigo = Codigo; if (venta.Cantidad <= venta.producto.StockActual) { if (venta.producto.PorcentajeGanancia > 0) { venta.precio = (venta.producto.PrecioUnitario * venta.Cantidad) * (1 + venta.producto.PorcentajeGanancia); } venta.producto.StockActual = venta.producto.StockActual - venta.Cantidad; prodneg.RestarStock(producto.SelectedValue, venta.producto.StockActual); facturaneg.completarfactura(venta); ventaNegocio.Vender(venta); Response.Write("<script>alert('La venta se ha realizado correctamente.');</script>"); } else { Response.Write("<script>alert('No hay stock suficiente para realizar la venta.');</script>"); } } } catch (Exception) { Session["Error" + Session.SessionID] = "Verifique que todos los campos esten completos."; Response.Redirect("PaginaError.aspx"); } }