public void Guardar()
        {
            OrdenCompraSQL oSQL = new OrdenCompraSQL();
            OrdenCompraxProductoSQL opSQL = new OrdenCompraxProductoSQL();
            UtilesSQL u = new UtilesSQL();
            SolicitudAdquisicionSQL sSQL = new SolicitudAdquisicionSQL();
               foreach (Proveedor p in LstProveedor){

               OrdenCompra o = new OrdenCompra(idAlmacen, p, "Entregar a la brevedad posible");
               o.Estado = 2;

               oSQL.Agregar(o);

               int idOrden = u.ObtenerMaximoID("OrdenCompra", "idOrden");
               o.IdOrden = idOrden;
               foreach (Consolidado c in LstConsolidado) {

               if (c.Prov.IdProveedor == p.IdProveedor)
               {
                   ProductoxOrdenCompra po = new ProductoxOrdenCompra(c, idOrden);
                   opSQL.Agregar(po);
                   o.LstProducto.Add(po);
               }

               }

               Enviar(o);

               foreach (int idSol in Solicitudes)
               {
               oSQL.relacionarOrden(idOrden, idSol);
               }

               }

               foreach (int idSol in Solicitudes)
               {
               sSQL.TerminarSolicitudes(idAlmacen, idSol);
               }
               MessageBox.Show( "Fueron generadas satisfactoriamente las Orden de compra","OBSERVACION", MessageBoxButton.OK, MessageBoxImage.Information);
               m.TryClose();
        }
        public bool Validar(ProveedorxProducto p)
        {
            if(!existe(p) ){

                ProductoxOrdenCompra po = new ProductoxOrdenCompra();
                po.IdOrden = idOrden;
                po.PrecioUnitario = p.Precio;
                po.Producto = p.Producto;

                lst.Add(po);

                Lst = new List<ProductoxOrdenCompra>(lst);

                return true;

            }

            return false;
        }
        public object Buscar(params object[] filters)
        {
            int id = Convert.ToInt32(filters[0]);

            DBConexion DB = new DBConexion();

            SqlConnection conn = DB.conn;
            SqlCommand cmd = DB.cmd;
            SqlDataReader reader;

            cmd.CommandText = "SELECT * FROM  OrdenCompraxProducto where idOrden = " + id;
            cmd.CommandType = CommandType.Text;
            cmd.Connection = conn;
            List<ProductoxOrdenCompra> lst = new List<ProductoxOrdenCompra>();

             try
            {
                conn.Open();

                reader = cmd.ExecuteReader();

                while (reader.Read())
                {

                    ProductoxOrdenCompra p = new ProductoxOrdenCompra();
                    p.Producto = new ProductoSQL().Buscar_por_CodigoProducto(Convert.ToInt32(reader["idProducto"].ToString()));
                    p.Cantidad = reader["cantidad"].ToString();
                    p.IdOrden = id;

                    p.PrecioUnitario = Convert.ToDouble(reader["PU"].ToString());
                    p.Monto = p.PrecioUnitario * (Convert.ToInt32(p.Cantidad));
                    p.CantAtendida = Convert.ToInt32(reader["cantAtendida"].ToString());

                    lst.Add(p);

                    //MessageBox.Show("Detalle por producto: \nProducto = " + p.Producto.Nombre + "\ncant = " + p.Cantidad +
                                    //"\nPU = " + p.PrecioUnitario);
                }

                conn.Close();

            }
             catch (SqlException e)
             {
                 MessageBox.Show(e.Message);
             }

            return lst;
        }