コード例 #1
0
        private void btnProdAgregar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                bool     existe = false;
                Producto prod   = dgvProductosOC.SelectedItem as Producto;

                id = prod.id;
                if (prod.cantidad > 0)
                {
                    var newW = new WindowAgregarProductoFactura();
                    for (int i = 0; i < itemsFact.Count; i++)
                    {
                        if (itemsFact[i].nombre == prod.nombre)
                        {
                            existe = true;
                        }
                        else
                        {
                            existe = false;
                        }
                    }
                    if (prod.cantidad >= 1 && !existe)
                    {
                        newW.txtCantidad.Text = prod.cantidad.ToString();
                        newW.can = prod.cantidad;
                        newW.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("El producto ya se agrego", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }


                    if (newW.DialogResult == true)
                    {
                        if (int.Parse(newW.txtCantidad.Text) > 0)
                        {
                            Producto productoFactura = new Producto(prod.nombre, prod.id, int.Parse(newW.txtCantidad.Text), prod.total, prod.precioUnitario);
                            itemsFact.Add(productoFactura);
                            Subtotal = Subtotal + (productoFactura.cantidad * productoFactura.precioUnitario);

                            dgvProductosFactura.Items.Refresh();
                            // float.TryParse(txtSubtotal.Text, out subtotal);


                            txtSubtotal.Text = (Subtotal).ToString();
                            prod.cantidad    = prod.cantidad - int.Parse(newW.txtCantidad.Text);
                            dgvProductosOC.Items.Refresh();
                            calculaTotal();
                        }
                        else
                        {
                            MessageBox.Show("La cantidad no puede ser cero", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Ya se agregaron todas las facturas de este producto", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Seleccione un producto a agregar", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #2
0
        private void btnAgregarProductoNC_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                bool     existe = false;
                Producto prod   = DgvProductosFactur.SelectedItem as Producto;

                id = prod.id;

                if (prod.cantidad > 0)
                {
                    var newW = new WindowAgregarProductoFactura();
                    for (int i = 0; i < itemsNC.Count; i++)
                    {
                        if (itemsNC[i].nombre == prod.nombre)
                        {
                            existe = true;
                        }
                        else
                        {
                            existe = false;
                        }
                    }
                    if (prod.cantidad >= 1 && !existe)
                    {
                        newW.txtCantidad.Text = prod.cantidad.ToString();
                        newW.can = prod.cantidad;
                        newW.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("El producto ya se agrego", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }


                    if (newW.DialogResult == true)
                    {
                        string consulta = "SELECT stock from productos where idProductos = " + prod.id + " ";
                        if (tipo != 1)
                        {
                            if (int.Parse(conexion.ValorEnVariable(consulta) + prod.cantidad) >= int.Parse(newW.txtCantidad.Text))
                            {
                                if (int.Parse(newW.txtCantidad.Text) > 0)
                                {
                                    Producto productoFactura = new Producto(prod.nombre, prod.id, int.Parse(newW.txtCantidad.Text), int.Parse(newW.txtCantidad.Text) * prod.precioUnitario, prod.precioUnitario);
                                    itemsNC.Add(productoFactura);
                                    dgvProductosNC.Items.Refresh();
                                    float.TryParse(txtSubtotal.Text, out subtotal);
                                    subtotal        += productoFactura.total;
                                    txtSubtotal.Text = (subtotal).ToString();
                                    prod.cantidad    = prod.cantidad - int.Parse(newW.txtCantidad.Text);
                                    DgvProductosFactur.Items.Refresh();
                                    calculaTotal();
                                }
                                else
                                {
                                    MessageBox.Show("La cantidad no puede ser cero", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                            }
                            else
                            {
                                MessageBox.Show("La cantidad ingresada supera al stock del producto", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }

                        else
                        {
                            if (int.Parse(newW.txtCantidad.Text) > 0)
                            {
                                Producto productoFactura = new Producto(prod.nombre, prod.id, int.Parse(newW.txtCantidad.Text), int.Parse(newW.txtCantidad.Text) * prod.precioUnitario, prod.precioUnitario);
                                itemsNC.Add(productoFactura);
                                dgvProductosNC.Items.Refresh();
                                float.TryParse(txtSubtotal.Text, out subtotal);
                                subtotal        += productoFactura.total;
                                txtSubtotal.Text = (subtotal).ToString();
                                prod.cantidad    = prod.cantidad - int.Parse(newW.txtCantidad.Text);
                                DgvProductosFactur.Items.Refresh();
                                calculaTotal();
                            }
                            else
                            {
                                MessageBox.Show("La cantidad no puede ser cero", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ya se entregaron todas las ordenes de compra de este producto", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Seleccione un producto para agregar", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }