コード例 #1
0
        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");
            }
        }