Exemplo n.º 1
0
        private void btnCargar_Click(object sender, EventArgs e)
        {
            cbxCliente.Enabled = false;

            bool existe = false;

            VentaArticulos nuevo = new VentaArticulos();

            int newidventa = 0;

            VentasNegocio ventaacc = new VentasNegocio();

            newidventa = ventaacc.obtenerId();

            int stockp;

            nuevo.Articulos  = (Articulos)cbxArticulos.SelectedItem;
            nuevo.IdArticulo = nuevo.Articulos.IdArticulo;

            stockp = ventaacc.ConsultarStock(nuevo.Articulos.IdArticulo);

            if (dgvNventas.RowCount == 0)
            {
                if (Convert.ToInt32(txtCantidad.Text) <= stockp)
                {
                    nuevo.IdArticulo = nuevo.Articulos.IdArticulo;
                    nuevo.IdVenta    = newidventa;
                    nuevo.Cantidad   = Convert.ToInt32(txtCantidad.Text);
                    nuevo.Pu         = nuevo.Articulos.Pu;
                    nuevo.PuSubtotal = nuevo.Cantidad * nuevo.Pu;

                    listaDetalleVenta.Add(nuevo);

                    TotalVenta    = TotalVenta + nuevo.PuSubtotal;
                    lblTotal.Text = TotalVenta.ToString();

                    dgvNventas.DataSource = null;
                    dgvNventas.DataSource = listaDetalleVenta;
                    dgvNventas.Columns["IDVENTA"].Visible    = false;
                    dgvNventas.Columns["IDARTICULO"].Visible = false;
                }
                else
                {
                    MessageBox.Show("El stock del producto no permite cargar el producto");
                }
            }
            else
            {
                nuevo.Articulos = (Articulos)cbxArticulos.SelectedItem;

                foreach (VentaArticulos fila in listaDetalleVenta)

                {
                    if (fila.IdArticulo == nuevo.Articulos.IdArticulo)
                    {
                        stockp = ventaacc.ConsultarStock(nuevo.Articulos.IdArticulo);
                        Decimal montoanterior;
                        montoanterior = fila.PuSubtotal;

                        if (fila.Cantidad + Convert.ToInt32(txtCantidad.Text) <= stockp)
                        {
                            fila.Pu         = nuevo.Articulos.Pu;
                            fila.Cantidad   = fila.Cantidad + Convert.ToInt32(txtCantidad.Text);
                            fila.PuSubtotal = fila.Cantidad * fila.Pu;


                            TotalVenta    = (TotalVenta + fila.PuSubtotal) - montoanterior;
                            lblTotal.Text = TotalVenta.ToString();



                            dgvNventas.DataSource = null;
                            dgvNventas.DataSource = listaDetalleVenta;
                            dgvNventas.Columns["IDVENTA"].Visible    = false;
                            dgvNventas.Columns["IDARTICULO"].Visible = false;
                        }
                        else
                        {
                            MessageBox.Show("No Existe Sufuciente stock");
                        }

                        existe = true;
                    }
                }

                if (existe == false)
                {
                    if (Convert.ToInt32(txtCantidad.Text) <= stockp)
                    {
                        dgvNventas.DataSource = listaDetalleVenta;
                        nuevo.IdVenta         = newidventa;
                        nuevo.Articulos       = (Articulos)cbxArticulos.SelectedItem;
                        nuevo.Cantidad        = Convert.ToInt32(txtCantidad.Text);
                        nuevo.Pu         = nuevo.Articulos.Pu;
                        nuevo.PuSubtotal = nuevo.Cantidad * nuevo.Pu;
                        listaDetalleVenta.Add(nuevo);

                        TotalVenta    = TotalVenta + nuevo.PuSubtotal;
                        lblTotal.Text = TotalVenta.ToString();

                        dgvNventas.DataSource = null;
                        dgvNventas.DataSource = listaDetalleVenta;
                        dgvNventas.Columns["IDVENTA"].Visible    = false;
                        dgvNventas.Columns["IDARTICULO"].Visible = false;
                    }
                    else
                    {
                        MessageBox.Show("El stock del producto no permite cargar el producto");
                    }
                }
            }
        }