/// <summary> /// Adds the property to the list of properties available for device /// detection. /// </summary> /// <param name="package"></param> /// <param name="property"></param> private static void GeneratePropertyNameLookupItem(ZipFile package, Property property) { Console.WriteLine("Generating property '{0}'", property.JavaScriptName); var propertyGuid = Helper.GetGuid(Constants.PropertyLookupGuid, property.JavaScriptName); var lookupType = property.GetPropertyType(); package.AddEntry(Path.Combine( Constants.LISTS_PATH, "Properties", lookupType, property.JavaScriptName, Helper.GetDirectoryNameForGuid(propertyGuid), "en", "1", "xml"), Encoding.ASCII.GetBytes(Helper.ReplaceTags( property, Helper.GetTemplate(String.Format("{0}property.xml", lookupType.ToLower())), propertyGuid))); }
/// <summary> /// Replaces tags associated with the property. /// </summary> /// <param name="property"></param> /// <param name="contents"></param> /// <param name="propertyIdGuid"></param> /// <returns></returns> internal static string ReplaceTags(Property property, string contents, string propertyIdGuid) { contents = contents.Replace("{PropertyName}", property.JavaScriptName); contents = contents.Replace("{PropertyNameLower}", property.JavaScriptName.ToLowerInvariant()); contents = contents.Replace("{PropertyNameSpace}", property.GetNameWithSpace()); contents = contents.Replace("{PropertyNameSpaceLower}", property.GetNameWithSpace().ToLowerInvariant()); contents = contents.Replace("{PropertyIdGuid}", propertyIdGuid); contents = contents.Replace("{CreatedDateTime}", Properties.CreatedDate); contents = contents.Replace("{UpdateDateTime}", Properties.UpdateDate); contents = contents.Replace("{PropertyType}", property.GetPropertyType()); contents = contents.Replace("{PropertyComment}", property.GetSitecoreComment()); contents = contents.Replace("{Revision}", Properties.Revision); contents = contents.Replace("{PropertiesAuthor}", Constants.AUTHOR); contents = contents.Replace("{Description}", HttpUtility.HtmlEncode(property.Description)); contents = contents.Replace("{Url}", String.Format( "https://51degrees.com/resources/property-dictionary#{0}", property.JavaScriptName)); return contents; }