List <ArticuloVenta> ObtenerListaArticulosAGuardar(ref decimal diferenciaPrecio)
        {
            List <ArticuloVenta> listaSinPaquetes = (from art in listaArticulosVenta where !art.EsPaquete select art).ToList();
            decimal    totalDetallePaquete        = 0;
            decimal    totalPaquete    = 0;
            var        consultaPaquete = from art in listaArticulosVenta where art.EsPaquete select art;
            clsPaquete cPaquete        = new clsPaquete();

            foreach (ArticuloVenta pqte in consultaPaquete)
            {
                cPaquete.pqt_codigo = pqte.CodigoArticulo;
                var detalles = cPaquete.TraerDetallePaquetes();
                totalPaquete += pqte.Precio;
                if (detalles == null)
                {
                    continue;
                }

                foreach (DataRow r in detalles.Tables[0].Rows)
                {
                    int          cantidad       = int.Parse(r.ItemArray[3].ToString());
                    string       claveArt       = r.ItemArray[0].ToString();
                    clsArticulos cArticulo      = new clsArticulos();
                    DataSet      articulo       = cArticulo.leerArticulosUnicoPorClave(claveArt);
                    decimal      precio         = decimal.Parse(articulo.Tables[0].Rows[0][10].ToString());
                    string       descripcionArt = articulo.Tables[0].Rows[0][1].ToString();
                    AgregarArticuloALista(claveArt, descripcionArt, cantidad, precio, false, ref listaSinPaquetes);
                    totalDetallePaquete += (precio * cantidad);
                }
            }
            diferenciaPrecio = totalDetallePaquete - totalPaquete;
            return(listaSinPaquetes);
        }
        void CargarDetallesPaquete()
        {
            clsPaquete cPaquete = new clsPaquete();

            dgvArticulos.AutoGenerateColumns = false;
            cPaquete.pqt_codigo = CodigoPaquete;
            DataSet consulta = cPaquete.TraerDetallePaquetes();

            if (consulta != null && consulta.Tables.Count > 0)
            {
                dgvArticulos.DataSource = null;
                articulos = ArticuloPaquete.ConvertirDataSetProducto(consulta);
                dgvArticulos.DataSource = articulos;
            }
            else if (!string.IsNullOrEmpty(cPaquete.mensaje))
            {
                MessageBox.Show(cPaquete.mensaje, "¡Ocurrio un error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #3
0
        void TraerArticulos()
        {
            List <ArticuloVenta> articulosEncontrados = new List <ArticuloVenta>();
            string dato = txtDatoProducto.Text;

            clsArticulos artic             = new clsArticulos();
            DataSet      consultaArticulos = artic.leerArticulos();

            if (consultaArticulos != null && consultaArticulos.Tables.Count > 0)
            {
                foreach (DataRow r in consultaArticulos.Tables[0].Rows)
                {
                    articulosEncontrados.Add(ConvertirDataSetArticulo(r));
                }
            }

            clsPaquete paquete          = new clsPaquete();
            DataSet    consultaPaquetes = paquete.TraerDetallePaquetes();

            if (consultaPaquetes != null && consultaPaquetes.Tables.Count > 0)
            {
                foreach (DataRow r in consultaPaquetes.Tables[0].Rows)
                {
                    articulosEncontrados.Add(ConvertirDataSetPaquete(r));
                }
            }

            dgvProductos.AutoGenerateColumns = false;
            if (articulosEncontrados.Count > 0)
            {
                dgvProductos.DataSource = articulosEncontrados;
            }
            else if (!string.IsNullOrEmpty(artic.mensaje))
            {
                MessageBox.Show(artic.mensaje, "¡Ocurrio un error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }