AJH.CMS.WEB.UI.ProductDetailsXSL_UC.LoadProduct C# (CSharp) Method

LoadProduct() private method

private LoadProduct ( ) : void
return void
        void LoadProduct()
        {
            int productValue = -1;
            if (base.ContainerValue > 0)
            {
                productValue = base.ContainerValue;
            }
            else
            {
                if (!string.IsNullOrEmpty(CMSConfig.QueryString.ProductID))
                {
                    int.TryParse(Request.QueryString[CMSConfig.QueryString.ProductID], out productValue);
                }
            }

            if (base.XSLTemplateID > 0)
            {
                Product product = ProductManager.GetProduct(productValue, CMSContext.PortalID, CMSContext.LanguageID);

                if (product == null)
                    return;

                string xslPath = CMSWebHelper.GetXSLTemplateFilePath(base.XSLTemplateID);
                xslPath = XSLTemplateManager.GetXSLTemplatePath(xslPath, base.XSLTemplateID);

                XmlDocument xmlDoc = new XmlDocument();

                XmlElement root = xmlDoc.CreateElement("Products");
                xmlDoc.AppendChild(root);

                XmlElement productElement = xmlDoc.CreateElement("Product");
                XmlAttribute attr = xmlDoc.CreateAttribute("ID");
                attr.Value = product.ID.ToString();
                productElement.Attributes.Append(attr);

                attr = xmlDoc.CreateAttribute("Name");
                attr.Value = product.Name;
                productElement.Attributes.Append(attr);

                attr = xmlDoc.CreateAttribute("Description");
                attr.Value = product.Description;
                productElement.Attributes.Append(attr);

                attr = xmlDoc.CreateAttribute("Details");
                attr.Value = product.SizeChart;
                productElement.Attributes.Append(attr);

                List<ProductImage> productImages =
                    ProductImageManager.GetProductImagesByProductID(product.ID, CMSContext.LanguageID);

                if (productImages != null && productImages.Count > 0)
                    for (int i = 0; i <= productImages.Count - 1; i++)
                    {
                        XmlElement productImageElement = xmlDoc.CreateElement("Image");
                        XmlAttribute imageAttr = xmlDoc.CreateAttribute("ID");

                        imageAttr.Value = productImages[i].ID.ToString();
                        productImageElement.Attributes.Append(imageAttr);

                        imageAttr = xmlDoc.CreateAttribute("ImageCaption");
                        imageAttr.Value = productImages[i].ImageCaption;
                        productImageElement.Attributes.Append(imageAttr);

                        imageAttr = xmlDoc.CreateAttribute("Image");
                        imageAttr.Value = productImages[i].Image;
                        productImageElement.Attributes.Append(imageAttr);

                        imageAttr = xmlDoc.CreateAttribute("IsCoverImage");
                        imageAttr.Value = productImages[i].IsCoverImage.ToString();
                        productImageElement.Attributes.Append(imageAttr);

                        productElement.AppendChild(productImageElement);
                    }

                root.AppendChild(productElement);

                XsltArgumentList arguments = new XsltArgumentList();
                arguments.AddExtensionObject("CMS:UserControl", this);

                xmlProduct.DocumentContent = xmlDoc.OuterXml;
                xmlProduct.TransformSource = xslPath;
                xmlProduct.TransformArgumentList = arguments;
                xmlProduct.DataBind();

                this.Page.Title = product.Name;
            }
        }
        #endregion