Ejemplo n.º 1
0
        /// <summary>
        /// Creates a copy of this image creator's <see cref="HtmlTemplate"/> by replacing all the tags with appropriate
        /// values based upon a given image.
        /// </summary>
        /// <param name="item">the item containing the specific data to use</param>
        /// <returns>an HTML document with the given item's data</returns>
        public String InstantiateTemplate(PivotItem item)
        {
            String text = m_htmlTemplate;

            text = this.Replace(text, "{id}", item.Id);
            text = this.Replace(text, "{name}", item.Name ?? "");
            if (item.Image != null)
            {
                text = this.Replace(text, "{image}", item.Image.SourcePath ?? "");
            }
            text = this.Replace(text, "{href}", item.Href ?? "");
            text = this.Replace(text, "{description}", item.Description ?? "");

            foreach (String facetCategoryName in item.FacetCategories)
            {
                String replaceStringBase = "{" + facetCategoryName;

                String textValue = item.GetFacetValueAsString(facetCategoryName);
                text = this.Replace(text, replaceStringBase + "}", textValue);

                text = this.PerformJoinInstantiation(facetCategoryName, item, text);

                List <IComparable> values = new List <IComparable>(item.GetAllFacetValues(facetCategoryName));
                int index = 0;
                while (true)
                {
                    String replaceString = replaceStringBase + ":" + index + "}";
                    if (text.IndexOf(replaceString, StringComparison.InvariantCultureIgnoreCase) == -1)
                    {
                        break;
                    }

                    textValue = "";
                    if (index < values.Count)
                    {
                        PivotFacetCategory facetCategory = item.CollectionDefinition.FacetCategories[facetCategoryName];
                        if (facetCategory.Format != null)
                        {
                            textValue = String.Format("{0:" + facetCategory.Format + "}", values[index]);
                        }
                        else
                        {
                            textValue = facetCategory.Type.FormatValue(values[index]);
                        }
                    }
                    text = this.Replace(text, replaceString, textValue);
                    index++;
                }
            }
            return(text);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a copy of this image creator's <see cref="HtmlTemplate"/> by replacing all the tags with appropriate
        /// values based upon a given image.
        /// </summary>
        /// <param name="item">the item containing the specific data to use</param>
        /// <returns>an HTML document with the given item's data</returns>
        public String InstantiateTemplate(PivotItem item)
        {
            String text = m_htmlTemplate;
            text = this.Replace(text, "{id}", item.Id);
            text = this.Replace(text, "{name}", item.Name ?? "");
            if (item.Image != null)
            {
                text = this.Replace(text, "{image}", item.Image.SourcePath ?? "");
            }
            text = this.Replace(text, "{href}", item.Href ?? "");
            text = this.Replace(text, "{description}", item.Description ?? "");

            foreach (String facetCategoryName in item.FacetCategories)
            {
                String replaceStringBase = "{" + facetCategoryName;

                String textValue = item.GetFacetValueAsString(facetCategoryName);
                text = this.Replace(text, replaceStringBase + "}", textValue);

                text = this.PerformJoinInstantiation(facetCategoryName, item, text);

                List<IComparable> values = new List<IComparable>(item.GetAllFacetValues(facetCategoryName));
                int index = 0;
                while (true)
                {
                    String replaceString = replaceStringBase + ":" + index + "}";
                    if (text.IndexOf(replaceString, StringComparison.InvariantCultureIgnoreCase) == -1) break;

                    textValue = "";
                    if (index < values.Count)
                    {
                        PivotFacetCategory facetCategory = item.CollectionDefinition.FacetCategories[facetCategoryName];
                        if (facetCategory.Format != null)
                        {
                            textValue = String.Format("{0:" + facetCategory.Format + "}", values[index]);
                        }
                        else
                        {
                            textValue = facetCategory.Type.FormatValue(values[index]);
                        }
                    }
                    text = this.Replace(text, replaceString, textValue);
                    index++;
                }
            }
            return text;
        }