コード例 #1
0
        public List <MVentas> getCostoVentasbyIdProdSinNombreGroupByFechaAño(string idproducto, DateTime fecha)
        {
            MySqlDataReader rdr        = null;
            List <MVentas>  Listventas = new List <MVentas>();
            ProductoFacade  prodFac    = new ProductoFacade();
            string          consulta   = "";
            bool            existe     = prodFac.getExisteProductoByidProd(idproducto);

            if (existe)
            {
                //string consulta = "SELECT fecha, idProducto,sum(cantidad)as cantidad, sum(total) as total FROM db.venta  where idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha;";
                consulta = "SELECT fecha,idproducto,(select precioReal from producto where idproducto=\"" + idproducto + "\")as precioReal,cantidad   FROM venta WHERE idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha";
            }
            else
            {
                consulta = "SELECT fecha,idproducto,sum(cantidad)   FROM venta WHERE idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha";
            }
            MySqlCommand cmd = new MySqlCommand(consulta, getconexion.getConexion());

            rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                //Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", rdr.GetString(2), rdr.GetInt32(3), Convert.ToInt32(rdr.GetInt32(2)) * rdr.GetInt32(3), 0));
                if (existe)
                {
                    Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", rdr.GetString(2), rdr.GetInt32(3), Convert.ToInt32(rdr.GetInt32(2)) * rdr.GetInt32(3), 0));
                }
                else
                {
                    Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", "0", rdr.GetInt32(2), 0, 0));
                }
            }
            getconexion.CerrarConexion();

            return(Listventas);
        }
コード例 #2
0
ファイル: ventasFacade.cs プロジェクト: hectorcayul/Magnolia-
        public List<MVentas> getCostoVentasbyIdProdSinNombreGroupByFechaAño(string idproducto, DateTime fecha)
        {
            MySqlDataReader rdr = null;
            List<MVentas> Listventas = new List<MVentas>();
            ProductoFacade prodFac = new ProductoFacade();
            string consulta = "";
            bool existe = prodFac.getExisteProductoByidProd(idproducto);
            if (existe)
            {
                //string consulta = "SELECT fecha, idProducto,sum(cantidad)as cantidad, sum(total) as total FROM db.venta  where idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha;";
                consulta = "SELECT fecha,idproducto,(select precioReal from producto where idproducto=\"" + idproducto + "\")as precioReal,cantidad   FROM venta WHERE idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha";
            }
            else
            {
                consulta = "SELECT fecha,idproducto,sum(cantidad)   FROM venta WHERE idproducto=\"" + idproducto + "\" AND year(fecha)=" + fecha.Year + "  GROUP BY fecha";
            }
            MySqlCommand cmd = new MySqlCommand(consulta, getconexion.getConexion());
            rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                //Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", rdr.GetString(2), rdr.GetInt32(3), Convert.ToInt32(rdr.GetInt32(2)) * rdr.GetInt32(3), 0));
                if (existe)
                {
                    Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", rdr.GetString(2), rdr.GetInt32(3), Convert.ToInt32(rdr.GetInt32(2)) * rdr.GetInt32(3), 0));
                }
                else
                {
                    Listventas.Add(new MVentas(rdr.GetDateTime(0), rdr.GetString(1), "Sin Nombre", "0", rdr.GetInt32(2), 0, 0));

                }


            }
            getconexion.CerrarConexion();

            return Listventas;

        }
コード例 #3
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
        /*********************************/


        /*********************************/


        //buscar producto mediante id ingresado
        private void codProdVenta_TextChanged(object sender, TextChangedEventArgs e)
        {

            ProductoFacade prodF = new ProductoFacade();
            bool existe = prodF.getExisteProductoByidProd(txtcodProdVenta.Text);


            if (existe)
            {
                ProductoFacade prodFobtener = new ProductoFacade();
                Producto Prod = new Producto();
                Prod = prodFobtener.getProductosByID(txtcodProdVenta.Text);
                //Si producto ya esta en tablapara venta aumentar cantidad
                if (Convert.ToInt32(Prod.stock) <= 0)
                {
                    MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {

                    //comparar en datagrid si esta
                    bool sumarCantidad = false;
                    int cantidad = 0;
                    int totaldatos = datagridVentas.Items.Count;
                    int filaProd = 0;
                    List<VentaTemporal> vtemporal = new List<VentaTemporal>();
                    VentaTemporal vtemp = new VentaTemporal();
                    var rows = GetDataGridRows(datagridVentas);
                    int num = 0;
                    //Se verifica si tabla tiene ya ese producto y asi aumentar canditad
                    if (totaldatos > 0)
                    { //Llenar lista con los productos en datagrid para sumarle uno mas en cantidad
                        foreach (DataGridRow r in rows)
                        {
                            VentaTemporal rv = (VentaTemporal)r.Item;
                            vtemporal.Add(rv);

                        }
                        foreach (DataGridRow r in rows)
                        {
                            VentaTemporal rv = (VentaTemporal)r.Item;
                            //MessageBox.Show(txtcodProdVenta.Text+"="+rv.idProducto);
                            if (txtcodProdVenta.Text.Equals(rv.idProducto))
                            {
                                sumarCantidad = true;
                                /*int pre = ToEntero(rv.precio, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                                string m = pre.ToString("#,#", CultureInfo.InvariantCulture);
                                MessageBox.Show(rv.precio);*/
                                vtemp = new VentaTemporal(rv.idVenta, rv.idProducto, rv.nombre, rv.precio, rv.cantidad, rv.total);
                                cantidad = Convert.ToInt32(rv.cantidad) + 1;
                                filaProd = num;
                            }
                            num = num + 1;
                        }
                    }

                    //Verificar stock de producto
                    ProductoFacade prodcantiFacade = new ProductoFacade();
                    int maxstock = Convert.ToInt32(prodcantiFacade.getStockProductoByidProd(txtcodProdVenta.Text));
                    if (cantidad <= maxstock)
                    {

                        if (sumarCantidad)
                        {
                            //Editar cantidad y setear total precio

                            int totalProducto = Convert.ToInt32(Prod.precio) * Convert.ToInt32(cantidad);
                            //borrar fila delista con id y actualizar la cantidad y precio
                            vtemporal[filaProd].cantidad = cantidad.ToString();
                            vtemporal[filaProd].total = totalProducto.ToString();

                            // subtotal = subtotal + totalProducto;

                            datagridVentas.ItemsSource = null;
                            datagridVentas.ItemsSource = vtemporal;

                            //Llenar textbox con total

                        }
                        else
                        {
                            //MessageBox.Show("Primer producto agregado");
                            //Nuevo producto para venta a  proceso de venta
                            venta.Add(new VentaTemporal { idProducto = Prod.idProducto, nombre = Prod.nombre, precio = Prod.precio, cantidad = "1", total = Prod.precio });
                            datagridVentas.ItemsSource = venta;
                            subtotal = subtotal + Convert.ToInt32(Prod.precio);
                        }
                        //txtcodProdVenta.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                txtcodProdVenta.Text = "";
            }
            else
            {


            }
            //Recorrer tabla para sumar total
            subtotal = 0;
            int numProducto = 0;
            foreach (var i in venta)
            {
                subtotal = subtotal + Convert.ToInt32(i.total);
                //MessageBox.Show(i.total.ToString());
                numProducto = numProducto + 1;
            }
            int mtotalDevo = subtotal - dineroDevolucion;
            if (mtotalDevo < 0)
            {
                //Quiere decir que totaldevolucion tiene saldo 
                txtDiferencia.Text = (mtotalDevo * -1).ToString();
                mtotalDevo = 0;

            }
            else

            {
                txtDiferencia.Text = "0";
            }

            if (mtotalDevo < 0)
            {
                mtotalDevo = mtotalDevo * -1;
            }
            int p = ToEntero(mtotalDevo.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
            txtsubtotal.Text = p.ToString("#,#", CultureInfo.InvariantCulture);


            txtCantidadProductos.Content = numProducto.ToString();
            if (Convert.ToInt32(txtdescuento.Text) == 0)
            {
                int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                txttotal.Text = pr.ToString("#,#", CultureInfo.InvariantCulture);

            }
            else
            {
                int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));

                double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToInt32(100);
                double res = (Convert.ToInt32(pr) - Convert.ToDouble(pr) * des);
                txttotal.Text = res.ToString("#,#", CultureInfo.InvariantCulture);
            }

        }