コード例 #1
0
        private void btnBuscarVenta_Click(object sender, RoutedEventArgs e)
        {
            if (txtidventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idventa", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (txtidProducto.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idProducto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (fechaventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar Fecha", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                ventasFacade   ventFac = new ventasFacade();
                List <MVentas> listaVentaDevolucion = ventFac.getVentasForDevolucion(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text));
                var            rows = GetDataGridRows(datagridVentas);
                if (listaVentaDevolucion.Count != 0)
                {
                    venta.Clear();
                    datagridVentas.ItemsSource = venta;
                    //llenar datagridVenta para devoulcion
                    foreach (var item in listaVentaDevolucion)
                    {
                        ProductoFacade prodFobtener = new ProductoFacade();
                        Producto       Prod         = new Producto();
                        Prod  = prodFobtener.getProductosByID(item.idProducto);
                        vtemp = new VentaTemporal(item.idVenta, item.idProducto, Prod.nombre, Prod.precio, item.cantidad.ToString(), "1", item.total.ToString());
                        venta.Add(vtemp);
                        cantidad = cantidad + 1;
                        total    = total + Convert.ToInt32(item.total);

                        //ltotal.Content = Prod.precio;
                        ltotal.Content    = item.total;
                        TextBoxValue.Text = item.cantidad.ToString();
                    }
                    datagridVentas.ItemsSource = venta;
                }
                else
                {
                    MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
コード例 #2
0
        private void btnDevolver_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (datagridVentas.Items.Count > 0)
                {
                    if (datagridVentas.SelectedItem != null)
                    {
                        var row = GetDataGridRows(datagridVentas);
                        if (row != null)
                        {
                            VentaTemporal rv = new VentaTemporal();
                            foreach (DataGridRow r in row)
                            {
                                rv = (VentaTemporal)r.Item;
                            }
                            int difDevo = Convert.ToInt32(rv.cantidad) - Convert.ToInt32(rv.devolver);
                            //MessageBox.Show("dif:" + difDevo.ToString());
                            if (difDevo == 0)
                            {    //si cantidad devolucion es igul a cantidad venta, actualizar stock producto y borrar registro de venta
                                int            sumStock = Convert.ToInt32(rv.devolver);
                                ProductoFacade prodFac  = new ProductoFacade();
                                string         actStock = prodFac.actualizarStockProductoDevolucion(rv.idProducto, sumStock);
                                ventasFacade   ventFac  = new ventasFacade();
                                string         borrar   = ventFac.borrarventaByidVenta(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text));

                                if (!string.IsNullOrEmpty(actStock))
                                {
                                    MessageBox.Show("Error al actualizar stock:" + actStock + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                                else if (!string.IsNullOrEmpty(borrar))
                                {
                                    MessageBox.Show("Error al borrar venta:" + borrar + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                                else
                                {
                                    MessageBox.Show("Devolucion ingresada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                    txtidventa.Text    = "";
                                    txtidProducto.Text = "";
                                    fechaventa.Text    = "";
                                    venta.Clear();
                                    datagridVentas.ItemsSource = venta;
                                    ltotal.Content             = "0";
                                    Valor = 1;
                                    this.Close();
                                }
                            }
                            else
                            {    //si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto
                                int            sumStock = Convert.ToInt32(rv.devolver);
                                ProductoFacade prodFac  = new ProductoFacade();
                                string         actStock = prodFac.actualizarStockProductoDevolucion(rv.idProducto, sumStock);
                                ventasFacade   ventFac  = new ventasFacade();
                                string         actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text), difDevo, difDevo * Convert.ToInt32(rv.precio));

                                if (!string.IsNullOrEmpty(actStock))
                                {
                                    MessageBox.Show("Error al actualizar stock:" + actStock + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                                else if (!string.IsNullOrEmpty(actVenta))
                                {
                                    MessageBox.Show("Error al actualizar venta:" + actVenta + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                                else
                                {
                                    MessageBox.Show("Devolucion ingresada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                    txtidventa.Text    = "";
                                    txtidProducto.Text = "";
                                    fechaventa.Text    = "";
                                    venta.Clear();
                                    datagridVentas.ItemsSource = venta;
                                    ltotal.Content             = "0";
                                    Valor = 1;
                                    this.Close();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
コード例 #3
0
        private void Decrease_Click(object sender, RoutedEventArgs e)
        {
            if (Valor > Minimum)
            {
                Valor--;
                if (datagridVentas.SelectedItem != null)
                {
                    if (datagridVentas.Items.Count > 0)
                    {
                        if (datagridVentas.SelectedItem is VentaTemporal)
                        {
                            var            row          = (VentaTemporal)datagridVentas.SelectedItem;
                            ProductoFacade prodFobtener = new ProductoFacade();
                            Producto       Prod         = new Producto();
                            Prod = prodFobtener.getProductosByID(row.idProducto);
                            int filaProd = 0;
                            int num      = 0;
                            if (row != null)
                            {
                                //MessageBox.Show(row.cantidad);
                                //Tomar valor de cantidad  datagrid y aumentar
                                List <VentaTemporal> vtemporal = new List <VentaTemporal>();
                                var rows = GetDataGridRows(datagridVentas);
                                foreach (DataGridRow r in rows)
                                {
                                    VentaTemporal rv = (VentaTemporal)r.Item;
                                    vtemporal.Add(rv);
                                }
                                //buscar el id de list con el seleccionado en datagrid
                                foreach (var r in vtemporal)
                                {
                                    if (row.idProducto.Equals(r.idProducto))
                                    {
                                        filaProd = num;
                                    }
                                    num = num + 1;
                                }

                                int total = Convert.ToInt32(Prod.precio) * Convert.ToInt32(Valor);
                                vtemporal[filaProd].devolver = Valor.ToString();
                                //vtemporal[filaProd].total = total.ToString();
                                ltotal.Content               = total.ToString();
                                datagridVentas.ItemsSource   = null;
                                datagridVentas.ItemsSource   = vtemporal;
                                datagridVentas.SelectedIndex = filaProd;
                            }
                        }
                    }
                }
                //Recorrer tabla para sumar total

                /*subtotal = 0;
                 *
                 * foreach (var i in venta)
                 * {
                 *  subtotal = subtotal + Convert.ToInt32(i.total);
                 *  //MessageBox.Show(i.total.ToString());
                 * }
                 * txtsubtotal.Text = subtotal.ToString();*/
                subtotal = 0;
                int numProducto = 0;
                foreach (var i in venta)
                {
                    subtotal = subtotal + Convert.ToInt32(i.total);
                    //MessageBox.Show(i.total.ToString());
                    numProducto = numProducto + 1;
                }

                /*
                 * txtsubtotal.Text = subtotal.ToString();
                 * txtCantidadProductos.Content = numProducto.ToString();
                 * if (Convert.ToInt32(txtdescuento.Text) == 0)
                 * {
                 *  txttotal.Text = txtsubtotal.Text;
                 * }
                 * else
                 * {
                 *  double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToDouble(100);
                 *  txttotal.Text = (Convert.ToInt32(txtsubtotal.Text) - Convert.ToDouble(txtsubtotal.Text) * des).ToString();
                 * }*/
                RaiseEvent(new RoutedEventArgs(DecreaseClickedEvent));
            }
        }
コード例 #4
0
        //Al presionar enter en spinkbox que se actualice en tabla la cantidad
        private void TextBoxValue_KeyDown(Object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                if (datagridVentas.Items.Count > 0)
                {
                    if (datagridVentas.SelectedItem != null)
                    {
                        if (datagridVentas.SelectedItem is VentaTemporal)
                        {
                            var            row          = (VentaTemporal)datagridVentas.SelectedItem;
                            ProductoFacade prodFobtener = new ProductoFacade();
                            Producto       Prod         = new Producto();
                            Prod = prodFobtener.getProductosByID(row.idProducto);
                            int filaProd = 0;
                            int num      = 0;
                            if (row != null)
                            {
                                //Tomar valor de cantidad  datagrid y aumentar
                                List <VentaTemporal> vtemporal = new List <VentaTemporal>();
                                var rows = GetDataGridRows(datagridVentas);
                                foreach (DataGridRow r in rows)
                                {
                                    VentaTemporal rv = (VentaTemporal)r.Item;
                                    vtemporal.Add(rv);
                                }
                                //buscar el id de list con el seleccionado en datagrid
                                foreach (var r in vtemporal)
                                {
                                    if (row.idProducto.Equals(r.idProducto))
                                    {
                                        filaProd = num;
                                    }
                                    num = num + 1;
                                }

                                //Verificar stock de producto
                                ProductoFacade prodcantiFacade = new ProductoFacade();
                                int            maxstock        = Convert.ToInt32(prodcantiFacade.getStockProductoByidProd(row.idProducto));
                                if (Valor <= Convert.ToInt32(row.cantidad))
                                {
                                    int total = Convert.ToInt32(Prod.precio) * Convert.ToInt32(Valor);
                                    vtemporal[filaProd].devolver = Valor.ToString();
                                    //vtemporal[filaProd].total = total.ToString();
                                    ltotal.Content               = total.ToString();
                                    datagridVentas.ItemsSource   = null;
                                    datagridVentas.ItemsSource   = vtemporal;
                                    datagridVentas.SelectedIndex = filaProd;
                                }
                                else
                                {
                                    //MessageBox.Show("Producto, segun inventario, no cuenta con mas stock");
                                    Valor = Convert.ToInt32(row.cantidad);
                                }
                            }
                        }
                    }
                }
                //Recorrer tabla para sumar total

                /* subtotal = 0;
                 *
                 * foreach (var i in venta)
                 * {
                 *   subtotal = subtotal + Convert.ToInt32(i.total);
                 *   //MessageBox.Show(i.total.ToString());
                 * }
                 * txtsubtotal.Text = subtotal.ToString();*/
                subtotal = 0;
                int numProducto = 0;
                foreach (var i in venta)
                {
                    subtotal = subtotal + Convert.ToInt32(i.total);
                    //MessageBox.Show(i.total.ToString());
                    numProducto = numProducto + 1;
                }

                /*txtsubtotal.Text = subtotal.ToString();
                 * txtCantidadProductos.Content = numProducto.ToString();
                 * if (Convert.ToInt32(txtdescuento.Text) == 0)
                 * {
                 *  txttotal.Text = txtsubtotal.Text;
                 * }
                 * else
                 * {
                 *  double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToDouble(100);
                 *  txttotal.Text = (Convert.ToInt32(txtsubtotal.Text) - Convert.ToDouble(txtsubtotal.Text) * des).ToString();
                 * }*/
            }
        }