Example #1
0
        /// <summary>
        /// Método para consultar los productos asociados a un determinado producto
        /// </summary>
        /// <param name="codigoPedido">(Int32) Código del pedido a consultar sus productos</param>
        /// <returns>(List<DO_ProductoEnPedido>) lista de los productos asociados al pedido</returns>
        public List <DO_ProductoEnPedido> listaProductos(Int32 codigoPedido)
        {
            List <DO_ProductoEnPedido> listaProductos = new List <DO_ProductoEnPedido>();

            SqlCommand comandoConsultar = new SqlCommand("SELECT PED_POSEE_PRO.PPP_CANTIDAD, PRODUCTO.* " +
                                                         "FROM PRODUCTO, PED_POSEE_PRO WHERE(PRODUCTO.PRO_CODIGO = PED_POSEE_PRO.PRO_CODIGO AND PED_POSEE_PRO.PED_CODIGO = @codigo)", conexion);

            comandoConsultar.Parameters.AddWithValue("@codigo", codigoPedido);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                SqlDataReader lector = comandoConsultar.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        DO_ProductoEnPedido producto         = new DO_ProductoEnPedido();
                        DO_Producto         detallesProducto = new DO_Producto();
                        producto.cantidad            = Convert.ToInt32(lector["PPP_CANTIDAD"]);
                        detallesProducto.codigo      = Convert.ToInt32(lector["PRO_CODIGO"]);
                        detallesProducto.estado      = (String)(lector["EST_HAB_ESTADO"]);
                        detallesProducto.nombre      = (String)(lector["PRO_NOMBRE"]);
                        detallesProducto.descripcion = (String)(lector["PRO_DESCRIPCION"]);
                        producto.producto            = detallesProducto;


                        listaProductos.Add(producto);
                    }
                }
                conexion.Close();

                return(listaProductos);
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Example #2
0
        /// <summary>
        /// Método auxiliar para realizar la unificación de la lista
        /// </summary>
        /// <param name="listaFinal"></param>
        /// <param name="producto"></param>
        /// <returns></returns>
        public bool buscarProductoFinal(List <DO_ProductoEnPedido> listaFinal, DO_ProductoEnPedido producto)
        {
            foreach (DO_ProductoEnPedido productoFinal in listaFinal)
            {
                //producto =x producto final = x
                if (producto.producto.codigo.Equals(productoFinal.producto.codigo))
                {
                    productoFinal.cantidad += producto.cantidad;
                    return(true);
                }
            }

            return(false);
        }
Example #3
0
        /// <summary>
        /// Método para obtener agregar los productos en la lista de pedidos de reporte
        /// </summary>
        /// <param name="listaPedidos"></param>
        public void obtenerProductos(List <DO_Pedido> listaPedidos)
        {
            foreach (DO_Pedido pedido in listaPedidos)
            {
                SqlCommand comandoBuscarProductos = new SqlCommand("SELECT PRODUCTO.PRO_NOMBRE, PRODUCTO.PRO_CODIGO,PRODUCTO.PRO_DESCRIPCION,PRODUCTO.EST_HAB_ESTADO, PED_POSEE_PRO.PPP_CANTIDAD " +
                                                                   "FROM PED_POSEE_PRO,PRODUCTO WHERE PED_POSEE_PRO.PRO_CODIGO = PRODUCTO.PRO_CODIGO AND (PED_POSEE_PRO.PED_CODIGO = @codigoPedido)", conexion);
                comandoBuscarProductos.Parameters.AddWithValue("@codigoPedido", pedido.codigo);
                List <DO_ProductoEnPedido> listaProductos = new List <DO_ProductoEnPedido>();

                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }

                    SqlDataReader lector = comandoBuscarProductos.ExecuteReader();
                    if (lector.HasRows)
                    {
                        while (lector.Read())
                        {
                            DO_ProductoEnPedido productoEnPedido = new DO_ProductoEnPedido();
                            DO_Producto         producto         = new DO_Producto();


                            producto.codigo      = Convert.ToInt32(lector["PRO_CODIGO"]);
                            producto.nombre      = (String)lector["PRO_NOMBRE"];
                            producto.descripcion = (String)lector["PRO_DESCRIPCION"];
                            producto.estado      = (String)lector["EST_HAB_ESTADO"];

                            productoEnPedido.producto = producto;
                            productoEnPedido.cantidad = Convert.ToInt32(lector["PPP_CANTIDAD"]);

                            listaProductos.Add(productoEnPedido);
                        }
                        pedido.listaProductos = listaProductos;
                    }
                }
                catch (SqlException) {}
                finally
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
        }