コード例 #1
0
        private void FillContent()
        {
            eArticulo oArticulos     = cCMS.Articulo_item(oPagina.IdArticulo);
            eArticulo oArticuloPadre = cCMS.Articulo_item(oArticulos.IdArticuloPadre);

            if (!oArticulos.Activo)
            {
                Response.Redirect(url_root + oArticuloPadre.URLEstatica);
            }
            _oPagina = cCMS.ArticuloEsquemaPadre_listar(7, 1, 0);
            if (!oArticuloPadre.Activo)
            {
                Response.Redirect(url_root + _oPagina[0].URLEstatica);
            }
            litNombrePadre.Text = oArticuloPadre.Titulo;
            url_estatica        = (Request["p"] != null) ? Request["p"].ToString() : "";
            //id_producto = cCMS.Producto_item_UrlEstatica(url_estatica).IDProducto.ToString();
            //id_producto = id_producto.Replace(",", ".");
            //decimal abc = Convert.ToDecimal(id_producto);
            //decimal idproducto2 = Math.Truncate(abc); //Convert.ToInt32(id_producto);
            //int idproducto = Convert.ToInt32(idproducto2);
            UserControl  oUcSubmenu = (UserControl)Page.LoadControl(string.Format("~/uc/submenu.ascx"));
            WebContentUC ucSubmenu  = (WebContentUC)oUcSubmenu;

            plhSubmenu.Controls.Add(oUcSubmenu);
            LoadUserControl(ucSubmenu, oPagina);
            LoadUserControl(ucSubmenu, oSeccionWeb);

            eProducto oProducto = cCMS.Producto_item_UrlEstatica(url_estatica);

            if (oProducto == null || !oProducto.Activo)
            {
                Trace.Warn("url_estatica", Server.UrlDecode(url_estatica));
                Response.Redirect(url_root + oArticuloPadre.URLEstatica);
                return;
            }

            litIdProducto.Value = oProducto.IDProducto.ToString();

            //valida si no supera el stock minimo
            string stockMinimo = cCMS.ParametroAlias(5);
            int    stockMin    = Convert.ToInt32(stockMinimo);

            //Tag Title:
            SetPage_TagTitle(oArticuloPadre.Titulo + " - " + oArticulos.Titulo + " - " + oProducto.ModeloProducto);
            if (oProducto.StockProducto <= stockMin)
            {
                //si el stock no supera el mínimo
                divAgregarCarrito.Visible = false;
                spanEstado.Visible        = true;
                fuera_stock.Visible       = true;
            }
            else
            {
                divAgregarCarrito.Visible = true;
                spanEstado.Visible        = false;
            }

            #region ProcesoNormal

            //eProducto oProducto = cCMS.Producto_item(idproducto);

            HtmlMeta ogTitle = (HtmlMeta)this.Page.Master.FindControl("ogTitle");
            if (ogTitle != null)
            {
                ogTitle.Content = oProducto.ModeloProducto;
            }
            HtmlMeta ogDescription = (HtmlMeta)this.Page.Master.FindControl("ogDescription");
            if (ogDescription != null)
            {
                if (oProducto.DescripcionProducto != "")
                {
                    ogDescription.Content = Cadena.Strip(oProducto.DescripcionProducto, "p");
                }
                else
                {
                    ogDescription.Content = "Ferreyshop : Central de Atención al Cliente   Lima: 626-5600   Provincias: 0800-00750";
                }
            }
            ;
            HtmlMeta ogImage = (HtmlMeta)this.Page.Master.FindControl("ogImage");
            if (ogImage != null)
            {
                ogImage.Content = ClientScriptHelper.getURLComplete() + "Upload/pagina/imagen/" + oProducto.ImagenChica;
            }


            XmlDocument xDoc = new XmlDocument();
            xDoc.LoadXml(oProducto.MetaTag);

            XmlNodeList lItems = xDoc.GetElementsByTagName("ListItem");
            Trace.Warn("xDoc.InnerXml", xDoc.InnerXml);

            foreach (XmlElement nodo in lItems)
            {
                HtmlMeta hMeta = new HtmlMeta();
                hMeta.Name    = nodo.GetAttribute("Nombre");
                hMeta.Content = nodo.GetAttribute("Valor");

                Page.Header.Controls.AddAt(0, hMeta);

                if (hMeta.Name == "Title" && hMeta.Content != "")
                {
                    Page.Title = TAG_TITLE + ": " + Util.Cadena.ToTitleCase(hMeta.Content);
                }
            }

            ImagenProductoDetalle.ImageUrl = ClientScriptHelper.getURLRoot() + Directorio.Pagina_Imagen + oProducto.ImagenChica;
            ImagenProductoDetalle.Attributes.Add("data-zoom-image", ImagenProductoDetalle.ImageUrl);

            litProductoDetalle.Text       = oProducto.ModeloProducto;
            litCodigoProductoDetalle.Text = oProducto.CodigoProducto;
            //pasar precio de soles a dólares
            //decimal tipo_cambio = Convert.ToDecimal(cCMS.ParametroAlias(2));
            //igv
            int     IgvInt    = Convert.ToInt32(cCMS.ParametroAlias(4).Replace("%", ""));
            string  IgvString = "1." + IgvInt.ToString();
            decimal igv       = Convert.ToDecimal(IgvString);
            //oProducto.PrecioProducto = oProducto.PrecioProducto * tipo_cambio;
            oProducto.PrecioProducto           = oProducto.PrecioProducto * igv;
            oProducto.PrecioProducto           = decimal.Round(oProducto.PrecioProducto, 2);
            litPrecioProductoDetalle.Text      = "US$ " + oProducto.PrecioProducto.ToString();
            litDescripcionProductoDetalle.Text = (oProducto.DescripcionProducto != "") ? "<span>" + Cadena.Strip(oProducto.DescripcionProducto, "p") + "</span>" : "";
            eArticulo oArticulo = cCMS.Articulo_item(oProducto.IdProductoCategoria);
            hplRegresar.NavigateUrl = url_root + oArticulo.URLEstatica;
            litTitulo.Text          = oArticulo.Titulo;

            //string url_pagina = ClientScriptHelper.getEnlace_Articulo(oPagina);
            //enviar al handler el id_producto
            #endregion

            //litFace.Text = litFace.Text.Replace("@@url@@", ClientScriptHelper.getURLHome()  + oPagina.URLEstatica + "?idproducto=" + id_producto);
        }