/// <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); }
/// <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; }